java学习笔记02——核心技术

1、封装:就爱那个描述某类事物的数据与处理这些数据的函数封装在一起,形成一个有机整体,称为类。封装的目的增强安全性和简化编程。
2、继承:面向对象程序设计中软件复用的关键技术,通过继承,可以进一步扩充新的特性,适应新的需求,降低了大型软件的开发难度,从而提高了软件的开发效率。
3、多态:
a、方法多态性,方法的重载和覆写
b、对象多态性,父、子对象之间的转型
(1)、向上转型(自动转型):父类 父类对象 = 子类实例。
(2)、向下转型(强制转型):子类 子类对象 = (子类)父类对象。
4、java访问权限修饰符
这里写图片描述
5、java中支持类的单继承和多层继承,但不支持多继承,即一个类只能继承一个类而不能继承多个类。关键词是extends。java继承只能直接继承父类中的共有属性和公有方法,而隐含的(不可见的)继承了私有属性。
6、继承的限制:
a、java之中不允许多重继承,但是却可以使用多层继承
b、从父类继承的私有成员,不能被子类直接使用,必须通过设置Setter和Getter方法间接操作。
c、子类在进行对象实例化时,从父类继承而来的数据成员需要先调用父类的构造方法来初始化,然后再用子类的构造方法来初始化本地的数据成员。
d、被final修饰的类不能再被继承。final在java中被称为终结器。
7、子类对象的实例化过程
实例化子类对象 : 1、先调用父类构造方法
2、再调用子类构造方法
使用super调用父类中的构造方法。super关键字也可用于调用父类中的属性或方法。
8、覆写:当一个子类继承一个父类,如果子类中的方法与父类中的方法的名称、参数个数及类型且返回值类型等都完全一致时,就称子类中的这个方法覆写了父类中的方法。同理,如果子类中重复定义了父类中已有的属性,则称此子类中的属性覆写了父类中的属性。
在子类中可以通过super.方法()调用父类中被子类覆写的方法。
完成方法的覆写注意点:
a、覆写的方法的返回值类型必须和被覆写的方法的返回值类型一致。
b、被覆写的方法不能为static。因为静态方法在编译时就和类的引用类型进行匹配。
c、被覆写的方法不能拥有比父类更为严格的访问控制权限。即子类的访问权限一般要比父类大,至少相等。
9、多态
静态多态:同一种接口,不同的实现方式。在代码编译阶段就确定下来的。
动态联编:在程序运行阶段才能体现出来。
10、隐藏:不希望父类的方法被子类方法覆写,即子类实例化后会调用父类的方法而不是子类的方法。被关键字static修饰的静态方法是不能被覆盖的,Java就是利用这一个特性达到隐藏的效果。
11、方法重载和覆写区别
这里写图片描述
12、this和super的区别
这里写图片描述
由于this和super都可以调用构造方法,所以this()和super()语法不能同时出现,两者是二选一的关系。
13、final关键词的使用
final在Java中称为终结器,在Java中final可以修饰三类情况:修饰类、修饰方法及修饰变量。
(1)、使用final修饰的类不能有子类(俗称太监类)
(2)、使用final定义的方法不能被子类所覆写
(3)、使用final定义的变量就称为了常量
14、抽象类的基本概念
抽象方法是只申明而未实现的方法,所有的抽象方法必须使用abstract关键字声明,包含抽象方法的类也必须使用abstract class声明。
抽象类定义规则如下:
(1)、抽象类和抽象方法都必须使用abstract关键字来修饰
(2)、抽象类不能直接实例化,即不能直接用new关键字去产生对象
(3)、抽象类定义时抽象方法只需声明,而不需要实现
(4)、含有抽象方法的类必须被声明为抽象类,抽象类的子类必须实现所有的抽象方法后才能被实例化,否则这个子类还是抽象类。
15、抽象类的使用原则:
(1)、抽象类必须有子类,子类使用extends继承抽象类,一个子类只能继承一个抽象类。
(2)、子类(如果不是抽象类)则必须实现抽象类之中的全部抽象方法。
(3)、如果要想实例化抽象类的对象,则可以使用子类进行对象的向上转型来完成。
16、a、抽象类中可以有构造方法,但这些构造方法必须在子类中被调用。
b、抽象类不能够使用final定义。
c、static申明,抽象类内外不同。
在外部抽象类上无法使用static声明,但是内部抽象类却可以使用static定义,使用static定义的内部抽象类就表示一个外部类。
d、抽象类之中可以没有抽象方法,但即便没有抽象方法的抽象类也不能够直接在外部通过关键词new实例化。
17、接口的使用原则
a、接口必须有子类,子类依靠implements关键字可以同时实现多个接口。
b、接口的子类(如果不是抽象类)必须实现接口之中的全部抽象方法。
c、接口可以利用对象多态性,利用子类实现对象的实例化。
接口中数据成员一定要赋初值,且此值不能再更改,用来声明数据成员的关键词final可省略。
default是jvav8中的新特性。
接口中方法必须是“抽象方法”或default方法。抽象方法声明的关键字abstract可以省略。
利用接口创建新类的过程称为接口的实现。
18、一个类实现多个接口时,若接口中有默认方法,不能出现同名默认方法。
多继承中,如果说在一个子类纪要实现接口又要继承抽象类,则应该采用先继承或实现的顺序完成。
19、一个抽象类可以继承多个接口,一个接口不能够继承抽象类。一个接口可以使用extends关键字继承多个接口,也可以同时继承多个接口的抽象方法与常量。
20、通过接口实现工厂模式
21、通过接口实现代理设计模式
22、抽象类和接口对比
这里写图片描述
抽象类和接口共同点:
a、都是抽象类型
b、都可以实现方法
c、都可以不需要实现类或者继承者去实现所有方法
不同点
a、抽象类不可以多重继承,接口可以。
b、抽象类和接口所反映出的设计理念不同。抽象类表示“is-a”关系,接口表示“like-a”关系。
c、接口中所定义的变量默认是 public static final型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值;抽象类中的变量默认是friendly型,其值可以在子类中重新定义,也可以重新赋值。
总体来说,抽象类和接口在很大程度上都是可以互相替换使用的,但就是由于抽象类本身具备单继承局限,所以当抽象类和接口全部可以使用的时候优先考虑接口。
23、抽象继承类和继承普通类最大的区别
(1)、普通类之中所有方法都有方法体,如果有些方法希望由子类来实现,而子类即使不实现也不会出错。
(2)、抽象类中抽象方法在语法上就必须要求子类进行实现。
24、接口、抽象类、类、对象的关系
(1)、基本类:是对象的模版,是属性和方法的集合。可以继承其他基本类、抽象类,实现接口。
(2)、抽象类:有抽象方法的类,抽象类可以有一个或多个抽象方法,是基本类和接口类的过度。
(3)、接口:接口中的所有方法除默认方法外都是抽象方法,抽象方法本身只定义不实现,用来指定标准。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值