父类引用指向子类对象_「酒窝说:」Java程序员,面向对象总结

464f92e171fb1d1b6aa9e37298c44a38.png
面向对象的三大特征:

封装 继承 多态

 封装

概念:是指隐藏对象的属性和实现细节,仅对外提供公公访问的方法。

好处:复用调用性,安全性

封装原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供对外访问的方法

 继承

好处:

1.提高了代码的复用性

2.让类和类之间产生了关系,is-a,给另一个特征提供了前提(多态)

注意:

子类所有的构造方法都会默认访问父类的空参构造方法,因为每一个子类的构造方法的第一行都有默认的super

语句存在,如果父类中没有空参的构造方法,那么子类的构造方法内,必须通过super(1)语句指定要访问的父类

构造方法,如果子类的构造方法中用this来指向子类自己的构造方法,那么被调用的构造方法,也会访问父类的

构造方法。

 final特点:

1.这个关键字是一个修饰符,可以修饰类,方法和变量。

2.被final修饰的类是一个最终类,不可以被继承

3.被final修饰的方法是一个最终方法,不可以被覆盖

4.被final修饰的变量是一个常量,只能赋值一次

 抽象类的特点:

1.抽象方法只能定义在抽象类中,抽象类和抽象方法都必须由abstract关键字进行修饰

2.抽象方法只能定义方法的存在,并不能定义方法的实现

3.抽象类不可以被创建对象

4.只能通过子类继承抽象类并覆盖抽象类中的抽象方法,该子类才能实例化,否则该自雷也是抽象类

5.抽象类只能单继承

 抽象类和接口的区别:

1.抽象类只能被继承,而且只能单继承,接口需要被实现,而且可以被多实现

2.抽象类可以定义非抽象方法,子类可以直接继承使用,接口中都是抽象方法,需要子类来实现

3.抽象类使用的是is-a的关系,接口使用的like-a的关系

4.抽象类的成员修饰可以自己定义,接口中的修饰符都是固定的

 多态:

体现:父类的引用或者接口指向自己子类的对象

Animal d = new Dog;//向上转型

Dog d1 = (Dog)d;//向下转型

多态好处:提高程序的扩展性

多态的弊端:当父类引用指向子类对象时,虽然提高了扩展性,但是只能访问父类里面的方 法,不可以访问子类自己的方法

如果要访问子类自己特有的方法就需要强制转换

 多态的前提:

1.必须存在关系,比如继承,或者实现

2.一般都会有覆盖操作

 单例模式:

解决的问题:保证一个类在内存中的唯一性

1.私有化构造方法

2.在本类中创建对象

3.定义一个方法返回这个对象

 DataObject d = new DataObject(); 饿汉 DataObject d = null;懒汉,实现了延迟加载 if(d==null){ d = new DataObject();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值