面向对象——基础

1、前沿

1、面向对象包括三大特征:封装、继承、多态
2、类、对象(实例)、抽象、类的实例化(过程)、引用(对象在栈中的值,在堆中的地址)

2、封装

第一步:属性私有化(用private关键字修饰)
第二步:对外提供简单的操作入口(set、get)

3、继承(extends)

1、java中只支持单继承、但可以间接继承

class B extends A{}
class B extends A{},class C extends B{}

2、构造方法不能继承
3、私有属性无法在子类中直接访问,可以用间接的方法访问
4、java中的类默认继承Object类

4、多态

多种形态,多种状态,编译和运行有两个不同的状态。

1、向上转型:自动类型转换(子——>父)

Animal a = new Cat();

     向上转型只能够调用子类重写的方法,子类独有的方法在父类中根本没有定义,所以父类无法找到子类独有的方法。

2、向下转型:强制类型转换(父——>子)

Cat c = (Cat)a;//需要添加强制类型转换符

(1)、什么时候需要向下转型:
     需要调用挥着执行子类对象中特有的方法。
(2)、向下转型有风险吗:
     容易出现ClassCastException(类型转换异常)
(3)、避免异常:
     instanceof运算符可以判断左边的对象是不是右边类的实例。

5、抽象类 abstract

1、抽象类无法实例化,无法创建对象
2、final和abstract不能联合使用,对立的
3、抽象类中不一定有抽象方法,但抽象方法必须出现在抽象类中
4、一个非抽象的类继承抽象类,必须对抽象方法进行覆盖/重写/实现
5、无法实例化,但存在构造方法
6、一个抽象类只能继承一个类(单继承)

6、接口 interface

1、一种“引用数据类型”
2、支持多继承
3、方法中不能有方法体
4、所有元素都是public修饰
5、抽象方法public abstract可以省略
6、常量public static final可以省略
7、没有构造方法
8、一个类实现了接口,那么接口中的所有方法必须实现
9、extends和implements可以共存,extends在前,implements在后
10、使用接口时,可以使用多态(父类型引用指向子类型对象)
11、接口中的方法用default修饰时,在接口中需要写方法体,但类不需实现所有方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值