类的继承、方法重写、自动转型

来源:互联网 发布:淘宝袜子好评语100字 编辑:程序博客网 时间:2024/04/23 13:28

类的继承、方法重写、自动转型
 
1、类的继承
  在类与对象的总结中说过,所谓类就好比生活中的种类,一些具有
相同特征的事物的总称。而类的继承就像是一个种类的事物的延伸
或说繁衍出来的子类,子类具有父类所具有的所有属性以及方法,也
就是在Java编程语言中所说的子类继承父类的所有属性和方法。继承
的关键字:extends。还需注意的是Java中的继承是单继承。比如现在
我们建一个学生类:

public class Student{ //设置学生的属性public String name;//姓名public int scro;//学分public String subject; //设置学生的学习方法(构造方法)public Student(String name,int scro){this.name=name; this.scro=scro; } public void setName(String name){ this.name=name;} public String getName(){ return name;} public void setScro(int scro){ this.scro=scro;} public int getScro(){ return scro;}public void setSubject(String subject){ this.subject=subject;} public String getSubject(){ return subject;} //学习的方法public void study(){ System.out.println(name+"在学习,学分是"+scro);}}

 
接下来建一个大学生类,让他继承学生类:

public class UStudent extends Student{ //该类继承自学生类,所以学生类中的//三个属性都已经具备//可以给其添加一个科目属性//构造方法public UStudent(String name,int scro){ //调用父类的构造方法super(name,scro);//super关键字是在子类中调用          //父类的方法} //方法的重写:访问修饰符 返回值类型 方法名 参数类型//个数顺序必须相同,但他们具体实现({}中的代码)不同public void study(){System.out.println(name+"正在学习"+subject+"学分是"+scro);}}

 
关于子类所能继承父类中的那些方法和属性与其所附带的
访问修饰符有关:
访问修饰符   类中 同包中 有继承关系不同包中  不同包
public   可以 可以 可以 可以
protected  可以 可以 可以 不可以
默认的    可以 可以 不可以 不可以
private   可以 不可以 不可以 不可以
不难发现,当访问修饰符为public时调用权限与路径无关。


自动转型
建一个执行类:

public class Text{ public static void main(String []args){ //自动转型:用父类声明一个对象名 用对象名指向子类对象。Student stu=new UStudent("张三",2); //本质上是子类对象,只是当是父类对象使用stu.setSubject("第二门外语");stu.study();} }

 
自动转型作用:把子类没有的而父类有的方法实现自动调用。调用时编译器会先在子类中寻找
是否有重写了的该方法,没有时才会调用父类中的方法。

                      梣梓
                     2014、09、26

 

 

0 0
原创粉丝点击