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());
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


