java_1_继承

一、继承的目的

是为了复用代码

  1. 直接用继承的方法、属性
  2. 看不上,自己重写(方法名、参数类型和个数都一样)

二、父类

package com.extend;

public class Student {
    
    public String name;
    public int age;
    public String classNo;
    public String shcool;
    
    public void toSchool(){
        System.out.println("我是"+name+",我要去"+shcool+"上学!");
    }
    
    public String toString() {
        return "Student [name=" + name + ", age=" + age + "]";
    }  
    
}

二、子类

package com.extend;

public class MidlleStudent extends Student{

}

package com.extend;
//继承
public class HighStudent extends Student{
    //增加自己的东西
    public String biology;
    //重写继承的方法
    public void toSchool(){
        System.out.println("我是"+name+",我要去"+shcool+"上学!住宿,从宿舍到教室");
    }
}

三、测试

package com.extend;

public class Test {
    public static void main(String[] args) {
        
        Student student=new Student();
        
        student.name="吴令";
        student.age=29;
        student.classNo="1801";
        student.shcool="guoya";
        
        student.toSchool();
        System.out.println(student.toString());
        
        MidlleStudent ms=new MidlleStudent();
        ms.toSchool();
        
        
        Student hs=new HighStudent();
        hs.name="高中生";
        hs.age=18;
        hs.classNo="1802";
        hs.shcool="果芽";
        
        hs.toSchool();
        System.out.println(hs.toString());
        
        Student  ms=new MidlleStudent();
        ms.toSchool();
        

    }
}


三、java三大特性

  1. 封装
  2. 继承
  3. 多态

练习

  1. 写student类:封装(把N个属性、M个方法封装到1个java类里)
  2. 写MiddleStudent,继承Student类:继承(什么都不用写,就具备父类所有属性和方法)
  3. 写HighStudent类,继承Student类,新增字段,重写toSchool方法
  4. 写Test类,new MiddleStudent和new HighStudent,都用Student变量类型存储:多态(Student可以有Midlle和High多种实现类型)

向上转型

HighStudent
Student
Object

其中Object类是所有类的祖先类
java是单继承体系,一个类只能继承一个父类

HighStudent hs=new HighStudent();
能用的属性和方法=HighStudent+Student+Object

Student hs=new HighStudent();
能用的属性和方法=Student+Object

Object hs=new HighStudent();
能用的属性和方法=Object

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • java继承 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继...
    863cda997e42阅读 831评论 0 1
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,199评论 18 399
  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 1,761评论 4 12
  • 1 当我还是少年,我在金山寺,每天晨醒时念经,日落时就寝。 我问师傅:“这就是我生活的全部吗?” 师傅双手合十,点...
    濮文阅读 521评论 2 8
  • 题目 Given scores of N athletes, find their relative ranks ...
    miltonsun阅读 190评论 0 0

友情链接更多精彩内容