java继承

继承

首先来说我们为什么要来学习继承,也就是继承的优点是什么。
举个例子,当你定义一个学生类时

public class Student{
String name;
int age;
int score;
String stu_id;
public void study(){
System.out.println("期末会有考试");
}
}

但是呢,根据条件还需要你去定义大学生类,中学生类,小学生类,如果你还去手写这些类的各种属性和方法,那就太繁琐了,所以这是继承就出现了。
首先继承的关键字:extends
继承的格式:public class 子类名 extends 父类名{}
其中 ,子类可以继承父类的所有方法和属性,而子类也可以有自己独特的方法和属性。

举个例子,刚刚我们就已经定义学生类了,现在想定义大学生类,就可以直接写出 :

public class UnStudent extends Student{ 
 }
 public static void main(String[]  args){
  UnStudent a = new UnStudent();//我们上一篇文章讲的面向对象
                               // 然后就可以去调用父类里的属性和方法了
                   a.name="xx";
                   a.age=21;
                   a.study();            
}

这就是继承的基本应用,替我们解决了繁琐的问题。

方法重写
继承中如果父类的方法不能满足子类的需要,则子类可以重写父亲的方法,但是子类中重写的方法需要与父类的方法(访问修饰符 返回值类型 方法名 参数类型 )一致 (除开方法体之外)。
比如说

public class Student{
String name;
int age;
int score;
String stu_id;
public void study(){
System.out.println("期末会有考试");
}
}
class UnStudent extends Student{ 
public void study(){
System.out.println("会有英语四级考试考试");//大学生会有英语四级考试
}
}   // 这就是子类重写父类的方法来满足自己的需要

自动转型
比如说我们就是想找一个人是不是学生,那还需要考虑他是不是大学生?中学生呢? 答案一定是不需要的,所以这是我们的自动转型就显得十分重要了。
自动转型的格式:父类 对象名=new 子类();
我举个例子

 public static void main(String[]  args){
Student a =new UnStudent();//自动转型的格式  
 a.study();
}

输出的结果为

会有英语四级考试考试

也就是说我们如果使用了自动转型,他调用的方法还是子类的,但是这个方法必须是父类中含有的。
如果父类中不含有这个子类特有的方法,你自动转型后,则无法继续调用子类原来特有的方法,系统就会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真真最可爱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值