Java基础—— 类之间的关系

本文深入探讨了Java中面向对象的核心概念,包括继承与多态的实现方式及其重要性,super()方法的作用,final关键字的用途。此外还介绍了类之间的各种关系如依赖、关联、聚合与组合,并详细解析了内部类的四种类型以及单例模式的设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第五章 类之间的关系

第一节 继承与多态

一.继承是指一个对象直接使用另一对象的属性和方法(除了私有成员),通俗的说就是儿子得到老子的东西。 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 “匿名内部类”;
}})


第四节 单例模式

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值