抽象类、接口、构造函数、匿名内部类、引用。

引用:
u 内存单元有两个属性:值和地址
u Point p1 = newPoint();

uPoint p2 = newPoint();

u 首先实例化对象( new Point ),然后定义一个引用 p1 指向这个实例。 P1 = p2; 并不是将实例 p2 赋值给实例 p1 ,而是改变了引用的关系,此时 p1 p2 地址相同都指向了 p2 的这个实例。

关键字:
u final
u Final 修饰的方法不能被重写
u Final 修饰的属性不能被修改 ( 也就是常量 )
u Final 修饰的类不能被继承
u ②Static 静态:静态代码块是在加载类的时候自动被执行,早于构造函数,静态的方法,面向的是整个类,不是某个对象,所以没有 this, 并且只能使用类名来调用,不能使用实例化实例化来调用。
u This 关键字
u this 关键字是什么意思?
u 有时一个方法需要引用调用它的对象。为此, java 定义了 this 这个关键字。简单地说,
u This 是在对象内部指代自身的引用。可以直接引用对象,可以解决实例变量和局部变量之间发生的任何同名的冲突。


抽象类:

u 什么是抽象类:提取事物的本质、共性的属性的方法,忽略某些不必要的细节和个性的差异。
u 为什么需要抽象类?
u 在现实生活中,有些类我们明明知道是有某些方法的,但是具体这些方法是怎么去做的好像又说不清楚,比如:手机、电报、固定电话等都是通讯通讯工具,而通讯工具就应该具有向外发送消息的方法,但是却无法说明具体怎么发,而手机、电报等我们又可以说清楚它们是怎么发送消息的。
u
u
u 抽象类的作用:对后代进行规则,即它的后代必须去实现父类的抽象方法。

u 由于抽象类中包含有未实现的方法,所以抽象类是无法去实例化对象。
u
u 抽象方法:只有声明,没有实现。 Abstract 修饰抽象方法
u 一个类中只要有一个抽象方法那就可以说这个类是抽象类,抽象类中也可以有非抽象方法。


u 接口里面的方法都是抽象方法,所以在接口里面声明方法时,就不需要用 abstract 修饰
u 接口的定义关键字是 interface ,抽象类是 class ,抽象类是用来继承 (extends) 的,接口是用来实现 (implements) 的。
u 为什么需要接口:
u java 中,因为不可以去多继承,所以,只能通过单继承和多实现去解决这个问题。
u 为什么不能多继承?
u 若为多继承,那么当多个父类中有重复的属性或者方法时,子类的调用结果会含糊不清,因此用了单继承。

接口:

u 接口里面的方法都是抽象方法,所以在接口里面声明方法时,就不需要用 abstract 修饰
u 接口的定义关键字是 interface ,抽象类是 class ,抽象类是用来继承 (extends) 的,接口是用来实现 (implements) 的。
u 为什么需要接口:
u java 中,因为不可以去多继承,所以,只能通过单继承和多实现去解决这个问题。
u 为什么不能多继承?
u 若为多继承,那么当多个父类中有重复的属性或者方法时,子类的调用结果会含糊不清,因此用了单继承。

u 为什么可以多实现?
u 通过实现接口拓展了类的功能,若实现的多个接口中有重复的方法也没关系。
构造函数:

u 构造函数是在对象实例化时自动被系统调用,该函数名必须是独一无二的,是将类名作为函数名,我们还可以定义不同的有参参数列表来表示不同的构造函数。。

u无参构造函数不需要程序员去定义返回值,他是系统自动决定的,void也不行。


匿名内部类:

u 为什么要使用匿名内部类?
u 定义接口
u 定义一个类去实现接口
u 定义 Square 这个类的一个对象 , 并且去使用它。
u 定义接口
u 定义匿名内部类,并实现接口(实际上就是将上一句情形 2.3 和并了)
u 匿名内部类的好处?
u 简化了流程,节省了内存。但是也使得使用者理解就更难了,代码的层次不是太清晰。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值