一、继承性的理解
1.好处:①减少代码的冗余,提高代码的属性
②便于功能的扩展
③为之后多态性的使用提供了前提
2.继承的格式: class A extends B{}
A: 子类,派生类 subclass
B:父类,基类 superclass
3.体现:一旦子类A继承父类B以后,子类A中就获取了父类B中声明的结构,属性,方法;
特别地,父类中声明为private的属性或方法,子类继承以后仍然认为获取了父类中的私有结构,只是因为封装性的影响使得子类不能直接调用父类的结构而已。
4. 子类继承父类以后,还可以定义声明自己特有的属性或方法,实现功能的拓展,子类和父类的关系,不同于子集和集合的关系,一个父类可以有多个子类,但一个子类只能有一个父类。
5 Java中继承性的规定:
① 一个类可以被多个子类继承。
② 一个类只能有一个父类:类的单继承性。
③ 子父类是一个相对的概念:类的多继承性。
④ 子类直接继承的父类称为直接父类,简称父类;间接继承的父类称为间接父类。
⑤子类继承父类以后,就获取了直接父类以及间接父类中声明的属性和方法。
package exercise;
public class csdn
{
public static void main(String[] args)
{
Students s = new Students();
s.age = 2;
s.name = "jay";
s.eat();
System.out.println("年龄是:"+ s.age+" 姓名是:"+s.name);
}
}
class Person
{
int age;
String name;
public void eat()
{
System.out.println("人吃饭");
}
}
class Students extends Person
{
}
二、方法的重写(overide/overwrite)
1.定义:在子类中根据需要对从父类中继承的方法进行改造,也称为方法的重置覆盖,在执行程序时,子类的方法将覆盖父类的方法
1.1 重写: 子类继承父类以后,可对父类中的同名同参的方法进行覆盖
1.2 重写的规定:
方法的声明:
约定俗成:子类中的方法称为重写的方法,父类中的方法称为被重写的方法
① 重写的方法的方法名和形参列表与被重写的方法相同。
② 重写的方法的权限修饰符不小于被重写的方法的。
特殊情况:子类不能重写父类中声明为private权限的方法
③返回值类型:
被重写的方法的返回值类型是void,重写的方法只能是void。
被重写的方法的返回值类型是A,重写的方法可以是A或A的子类
被重写的方法的返回值类型是基本数据类型,重写的方法必须是同样的基本数据类型
④重写的方法抛出的异常类型不能大于被重写的方法抛出的异常类型
package exercise;
public class csdn
{
public static void main(String[] args)
{
Students s = new Students();
s.age = 2;
s.name = "jay";
s.eat();
System.out.println("年龄是:"+ s.age+" 姓名是:"+s.name);
}
}
class Person
{
int age;
String name;
public void eat()
{
System.out.println("人吃饭");
}
}
class Students extends Person
{
public void eat()
{
System.out.println("学生多吃点有营养的");
}
}