工作内容:
一、梳理类,对象,继承,接口之间的关系
二、内部类的学习:
1.成员内部类—间接实现多继承,成员内部类的方法和属性可以用它的对象打点调用。
OuterClass.InsideClass insideClass = (new OuterClass()).new InsideClass();
2.匿名内部类—用于初始化对象属性,可以重写父类方法/实现接口方法
3.打印一个对象,默认打印的是:对象.toString()
培训讲解:
匿名内部类测试用例:
FatherClass fatherClass=new FatherClass() {
int tall1= 10;
//匿名内部类自己的方法
public void speak(){
System.out.println("Hello");
}
//重写父类方法
@Override
public void show() {
tall = 173.5;
name ="Tom";
System.out.println(tall1);
//可以调用
speak();
}
};
fatherClass.show();
//测试匿名内部类内部的属性和方法(在匿名类内部添加属性,方法,在外部是法使用的)
//外部可以使用的是从父类(接口)继承或者实现、重写的方法
//不可以调用,内部类自己的方法和属性
//fatherClass.tall1= 20;
//fatherClass.speak();
System.out.println(fatherClass.tall);
System.out.println(fatherClass.name+":"+fatherClass.tall);
}
}
//成员内部类测试
public class TestInsideClass {
public static void main(String[] args) {
MemberClass memberClass = new MemberClass();
MemberClass.InClass inClass = memberClass.new InClass();
inClass.setSpeed(200);
inClass.show();
/*
* 测试成员内部类自定义方法的使用
* 结果:成员内部类自定义的run()方法可以用内部类InClass的对象打点调用
*
* */
inClass.run();
System.out.println(inClass.getSpeed());
}
}