最近在看JAVA教学的视频,觉得老师讲的很好,同时借用源代码还有笔记来撰写本系列博客,记录自己的学习内容,同时也供看到的人学习。
头一次这么晚还在写博客····看教学视频都有点儿看不进去了····
第一个内容:回调(callback),其实本质上就是多态的一种应用,使整个程序代码形成一个有缺口的代码片,在缺口处可以根据实际需要灵活地挂上带有不同内容的“钩子”,代码本身还是很好理解的,弄不太懂可以参照前面的多态:
public class MyFrame{
public void paint(){
System.out.println("画窗口!");
}
}
解释:f.paint()就是那个钩子,相当于填空题里面的空,对比drawFrame的形参和实参可以得知,这就是多态里面的第二步:父类引用指向子类对象,根据具体的子类是哪个就调用哪个子类的paint方法,以此产生相应的不同的结果,所以,就是一种多态,不要想复杂哦~
第二个内容是介绍内部类,这可是一个很繁琐的知识点,条件有限,截图拼凑来介绍innerclass:
还有一种写在方法里面的内部类,那个极少用到,所以就不写了。
我们看一个内部类的示例代码,一些细节解释在代码里面:
public class Outer { //外部类
public static void main(String[] args) {
Face f = new Face();
Face.Nose n = f.new Nose(); //内部类的定义方式
n.breath();
Face.Ear e = new Face.Ear();
e.listen();
}
}
class Face {
int type;
String shape="瓜子脸";
static String color="红润";
class Nose {
void breath(){
System.out.println(shape);
System.out.println(Face.this.type); //内部类调用外部类的时候要这么调用
System.out.println("呼吸!");
}
}
static class Ear { //静态内部类不能调用外部类的非静态属性
void listen(){
System.out.println(color); //但是可以使用其静态属性
System.out.println("我在听!");
}
}
}
这个内部类知识点很杂,感觉还是不要一下死记硬背下来,到用的时候再回头看吧~
好了,休息,晚安~~~