2020.12.9

2020.12.9

1.Object类

Object类是java定义API,该类表示所有类的最高层,Object类没有父类,也就是说该类是所有类的父类,如果一个类没有显示继承父类,默认继承Object类。Object类中定义的属性和方法每个类都继承了。

Object类中重要的方法

  • equals()
  • toString()

2.方法重写

子类从父类继承后,如果子类发现父类的方不能满足子类的需要,此时子类可以重新在子类的类内再次定义一遍从父类继承的方法,这种重新定义父类方法的方式就叫方法重写。

  • 方法重写:override
  • 方法重载:overload

2.1方法重写的规则

  • 重写方法与被重写方法必须有相同的方法名称
  • 重写方法与被重写方法必须有相同的参数列表
  • 重写方法的返回值类型必须和被重写的方法的返回值类型相同或是其子类。
  • 写方法不能缩小被重写方法的访问权限。

2.2方法重载与方法重写的区别

  • 重载涉及同一类中的同名方法,要求方法名相同,参数列表不同,与返回值类型无关。
  • 重写涉及的是子类与父类之间的同名方法,要求方法名相同、参数列表相同、与返回值类型相同。

3.继承中的protected

protected是访问修饰符,是专门为继承而设计的访问修饰符。protected修饰的属性或方法在同包或者子类中可以被访问。

例如:

package cn.itlaobing.oop;

public class Person{

protected String name;

package itlaobing;

import cn.itlaobing.oop.Person;

public class Worker extends Person{

public static void main(String[] args){

Worker w=new Worker();

}

}

w.name="dd";//Worker类与Person类不在同一个包中,但是worker类是Person类的子类,而Person类中的name属性是protected访问修饰符修饰的,因此在子类worker中可以访问name属性。

4.多态

1.什么是多态?

多态是指调用同一个方法可能有多种输出结果,每一个结果就是一种形态

2.多态的重点

  • 当父类的引用指向子类对象后,在父类引用调用方法时,只能调用子类从父类继承的方法或者被子类重写的方法(父类知道子类中有什么方法就能调用什么方法)
  • 父类不能调用子类新增的方法,因为父类无法知道子类新增了什么方法
  • 如果子类重写了父类的方法,那么父类引用调用的就是子类的方法(父类引用指向哪个子类就调用哪个子类的方法)
  • 父类引用指向子类对象时需要类型转换
  • 父类引用=子类对象,不需要强制转换
  • 子类引用=父类对象,需要强制转换

3.多态的特点

  • 多态一定存在于继承关系中
  • 多态一定存在于方法重写中
  • 多态一定存在于父类引用指向子类对象中,父类引用指向哪个子类就能调用哪个子类的方法
  • 方法重写实现了多态

4.类与类之间有三种关系

  • is a (公共汽车 is a 汽车)继承关系,表名子类与父类是同一种类型
  • use a 人 use a 铁锹
  • has a 人 has a 胳膊

5.instanceof运算符

例如:

if(pet instanceof Cat){

Cat cat=(cat)pet;

cat.ClimbTree();

instanceof运算符用于判断一个引用是否指向某个类的实例,返回boolean值。

标签

评论


© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1