面向对象(4)

1.继承
继承是多个事物之间存在的一种关系,可以通过is--a(是一个)来判断是否存在继承关系。


特点:
1.事物之间应该具备一定的层次结构,并且具有可传递性。


2.子类继承了父类,那么就继承了父类中所有的属性和方法,但是私有属性和构造方法除外。
子类不能继承父类的构造方法是因为,不能通过子类创建父类的对象。


3.子类继承了父类,子类还可以拥有自己特有的属性和方法。


4.在Java中只支持单一继承,也就是说一个子类只能有一个父类,但是一个父类可以有多个子类。


作用:主要是为了提高代码的重用性


在Java中使用extends关键字实现类与类之间的继承关系


语法:
[访问修饰符] class 子类 extends 父类{




}


2.super关键字


前提:super关键字只能出现在有继承关系的子类中。


作用:super表示的是对父类对象的引用。(也就说可以把super看作当前子类的父类对象)


用法:
1.调用父类中的属性和方法
super.属性名称;
super.方法名称(参数列表);


2.明确指明调用父类中的哪个构造方法,此时super关键字一定要出现在子类构造方法的第一句代码
super(参数列表);


注意:
1.在有继承关系的类中,创建子类对象时,一定是先执行父类中的构造方法,然后在执行子类中的构造方法。


2.如果子类构造方法没有显式调用父类构造方法,那么会调用父类的默认构造方法。
3.如果父类没有默认构造方法,而且子类构造方法又没有显示调用父类的其它构造方法,那么编译将报错。此时,需要
在子类构造方法中显示调用父类构造方法,则在子类构造方法的第一条语句用关键字 super(参数列表)的形式来调用。 


3.访问修饰符

private修饰的属性或方法只能在本类中访问。


默认修饰的属性或方法只能在本类或同一个包中的类。


protected修饰的属性和方法只能在本类或同一个包中的类或者不同包内的子类中访问。
注意:protected修饰的属性如果在子类中访问,只能通过父类对象或者直接对属性访问,在子类中不能通过创建父类对象
访问protected修饰的属性。


public修饰的属性和方法任何一个类都可以访问。


注意:类一般用public或默认的修饰符


4.方法重写


在有继承关系的子类中,才可以发生重写这一多态特征。


定义:在有继承关系的子类中,子类重写父类中的方法,就需要和父类中的方法名称一致,返回类型一致,参数列表一致,而且访问
修饰符的范围不能被缩小。


目的:当父类中的方法所完成的功能,满足不了子类的需求时,子类就可以对父类中的方法进行重写。


5.Object类
java.lang.Object类是所有Java类的父类
如果在类的声明中未明确使用extends关键字指定父类,则默认为继承自Object类
Object类中的toString()方法,输出对象时格式为:类名@对象哈希码的十六进制整数值


6.final关键字

用法:
1.final修饰变量,那么这个变量其实是一个常量,一旦赋值就不能更改。


2.final修饰方法中的参数,称为最终参数,在方法体中不能再给最终参数赋值。


3.final修饰类,类不能继承。


4.final修饰的方法不能被重写


7.向上转型和向下转型


所谓的向上转型,就是把子类对象给父类,可以把对象看作是一个父类对象来使用。


动态绑定机制:在程序运行时,会根据对象的真正的创建者,来决定调用父类或者子类的方法(也就说对象是谁创建的就调用哪个类
中的方法)


发生动态绑定机制的条件:
1.要有继承
2.要有重写
3.要有向上转型发生
4.要用向上转型的对象,调用重写的方法。




所谓的向下转型,就是把父类对象给子类,可以把对象看作是一个子类对象来使用。

千万注意:向下转型一定是在向上转型的基础,做类型的还原。不能直接把一个父类对象,强制转换成子类对象。
使用向下转型需要使用强制转换符。


instanceof关键字判断对象是否属于某个类,语法:


对象名称 instanceof 类名(接口名称)




super关键字为什么不能用在static修饰的类中





























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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值