Java内部类的简介说明
内部类简介
内部类的简介: 我们将一个类中嵌套了另一个类结构A 我们将类结构A称之为"内部类"例:
class Outer{ private String str ="外部类中的字符串-java265.com"; //************************** //定义一个内部类 class Inner{ private String inStr= "内部类中的字符串"; //定义一个普通方法 public void print(){ //调用外部类的str属性 System.out.println(str); } } //************************** //在外部类中定义一个方法,该方法负责产生内部类对象并调用print()方法 public void fun(){ //内部类对象 Inner in = new Inner(); //内部类对象提供的print in.print(); } } public class Test{ public static void main(String[] args) { //创建外部类对象 Outer out = new Outer(); //外部类方法 out.fun(); } } -------运行以上代码,将输出以下信息---- 外部类中的字符串-java265.com例2:
class Outer{ private String outStr ="Outer中的字符串"; public String getOutStr() { return outStr; } public void fun(){ //2 //this表示当前对象 Inner in = new Inner(this); //3 in.print(); //5 } } class Inner{ private String inStr= "Inner中的字符串"; private Outer out; //构造注入 public Inner(Outer out) //3 { this.out=out; //4.为Inner中的out变量初始化 } public void print(){ //6 System.out.println(out.getOutStr()); //7 } } public class Test{ public static void main(String[] args) { Outer out = new Outer(); //1. out.fun(); //2. } } -----运行以上代码,将输出以下信息---- Outer中的字符串
内部类的优缺点
内部类的优点
- 内部类与外部类可以方便的访问彼此的私有域(包括私有方法、私有属性)
- 内部类是另外一种封装,对外部的其他类隐藏
- 内部类可以实现java的单继承局限
内部类的缺点
结构复杂
内部类实现多继承
class A { private String name = "A类的私有域"; public String getName() { return name; } } class B { private int age = 20; public int getAge() { return age; } } class Outter { private class InnerClassA extends A { public String name() { return super.getName(); } } private class InnerClassB extends B { public int age() { return super.getAge(); } } public String name() { return new InnerClassA().name(); } public int age() { return new InnerClassB().age(); } } public class Test2 { public static void main(String[] args) { Outter outter = new Outter(); System.out.println(outter.name()); System.out.println(outter.age()); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。