Java基础—— 类之间的关系

时间:2021-09-07 11:45:34

第五章 类之间的关系

第一节 继承与多态

一.继承是指一个对象直接使用另一对象的属性和方法,通俗的说就是儿子得到老子的东西。 java只允许单继承;抽象类和接口也是解决单继承规定限制的重要手段。同时,多态也是面向对象编程的精髓所在。

.多态是在面向对象语言中,接口的多种不同的实现方式。简单说就是我们都去上课学习,其他所有人都带书去上课,你却带手机去上课。 父类引用可以指向子类的对象,可解决在运行期对重写方法的调用,系统会多态的根据当前被引用对象的类型来决定执行哪个方法,而不是由引用变量的类型来决定。

对于多态,可以总结它为:    
一、使用父类类型的引用指向子类的对象;

二、该引用只能调用父类中定义的方法和变量;

三、如果子类中重写了父类中的一个方法,那么在调用这个方法的时 候,将会调用子类中的这个方法;(动态连接、动态调用)

四、变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子中”重写“了父类中的变量,那么在编译时会报错。

二.super()方法,代表父类,可以调用父类的无参构造方法。

三.final关键字,表示”静态,不可改变的,最终的“的意思,用于修饰变量、方法和类。

    a.当final关键字修饰变量时,表示该变量是不可改变的量,即为常量   
b.当final关键字修饰方法时,表示该方法是不可被子类重写,即为最终方法。
C.当final关键字修饰类时,表示该类不可被子类继承,即为最终类。

第二节 类的其他关系

一.类和类的关系主要有几大点:

a.依赖关系(一个类的方法中操作另外一个类的对象);  
b.关联关系(一个类中使用另一个类的对象作为该类的成员变量);
c.聚合关系(体现的是整体和部分的关系,一个类由其他类的对象作为该类的成员变量,整体和部分可分离,它们可以各自具备生命周期);
d.组成关系(体现整体和部分的关系,但是整体和部分不可分离,整体的生命周期结束后,部分的生命周期也随之结束);

第三节 内部类

在一个类的类体内再定义一个类,该情况下外面的类称为”外部类”,里面的类称为“内部类”;

引入内部类的主要原因有:  
a.内部类能够隐藏起来,不为一包的其他类访问;
b.内部类可以访问其所在的外部类外部类的所有属性;
c.在回调方法处理中,匿名内部类方便快捷,特别是事件处理经常使用;

一.成员内部类 ,在一个内部类中定义一个内部类,这个内部类是作为外部类的成员存在的。 内部类可以访问外部类的私有属性。

二.局部内部类 ,在方法中定义的内部类,和局部变量相似。不能用public或private访问修饰符声明, 可以外部类的成员,还可以访问局部变量,但是局部必须被声明为final。

三.静态内部类,使用static关键字修饰一个内部类。属于外部类的本身,而不属于外部类的某个对象。只能访问外部类的静态数据成员。

四.匿名内部类,没有名字的内部类。适合只需要使用一次的类,当创建一个匿名类时会立即创建该类的一个实例,该类的定义会立即消失,不能重复使用。Object a=new Object();
System.out.println(new Object(){public String toString(){
return “匿名内部类”;
}})


第四节 单例模式

单例模式只能创建出一个对象实例