JAVA学习笔记16——回调+内部类

最近在看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("我在听!"); 
		}
	}
}
这个内部类知识点很杂,感觉还是不要一下死记硬背下来,到用的时候再回头看吧~

好了,休息,晚安~~~


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值