Java基础中继承相关的内容有哪些

这篇文章给大家介绍Java基础中继承相关的内容有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

今天分享的是Java的基础–继承相关的内容

  1. 方法重写概念: 子父类成员方法的特殊情况—-覆盖

    子类中出现与父类一某一样的方法时,会出现覆盖操作,也称之为:override重写 复写或者覆盖.

    通俗的说就是子类要使用父类中的功能,同时自己又有自己特有的功能.

    重写需要注意的问题: 子类方法覆盖父类方法,必须要保证权限大于等于父类的权限. 权限有四种,最大的时public ,最小的时private.

    2.方法重写和方法重载的比较:

    方法重写: 子父类中,方法声明,方法名,参数列表和返回值类型,必须一某一样

    方法重载:同一个类,方法声明,方法名一样,参数列表不一样,跟返回值无关

    3.this与super

    当子类创建对象后,该子类对象本身可以使用this代替,而该对象当中的父类对象空间,可以使用super来代替.
    以person为类,创建一个人的父类,创建一个中国人子类,创建一个Test 作为测试,打印小明18岁来自科技研究院

    #### public class Person {
            private String name;
            private int age;

            public Person(){}
            public Person(String name,int age) {
                this.name = name;
                this.age = age;
             }
            
         }

    public class Chinese extends Person{
        private String address;
        public Chinese(){}
        public Chinese(String name,int age,String address) {
            super(name,age);
            this.address = address;
    }

    }

        
    public class Test{
        Chinese c = new Chinese(“小明”,18,”中国科技研究院”);
    }
    4.this 与super调用普通成员与构造方法

    调用普通成员:
    this.成员变量 可以访问本类对象的成员变量

    super.成员变量 可以访问父类对象的成员变量

    this.成员方法() 可以访问本类对象的成员方法

    super.成员方法() 可以访问父类对象的成员方法

    调用构造方法:
    this(其他参数) 可以访问本类其他的构造方法

    super(其他参数) 可以访问父类其他的构造方法

    构造方法:
    无法继承,默认调用父类无参构造

    super():表示访问父类无参构造方法

    super(参数) :表示访问父类有参构造方法

    举例: 用代码实现如下语句:使用继承的方法,不使用抽象:

    工资为8000元的30岁的王小平正在吃饭

    工资为8000元的30岁的王小平老师在讲课

    成绩为90.0分的14岁的小王在吃学生餐

    成绩为90.0分的14岁的小王学生在学习

    1.定义一个Person类:

    public class Person {
        private String name;
        private int age;
        public  Person(){}
        public  Person(String name,int age){
            this.name = name ;
            this.age = age;
            
            
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public void eat(){
            
            
            System.out.println(age+"岁的"+name+"在吃饭");
        }

    }
    2.定义一个Teacher类:

    public class Teacher extends Person {
        private int salary;

        public void  eat(){
        System.out.println("工资为"+salary+"元的"+getAge()+"岁的"+getName()+"正在吃饭");
        }
    public void lecture(){
        System.out.println("工资为"+salary+"元的"+getAge()+"岁的"+getName()+"老师在讲课");
        
    }

        public Teacher(){}
        public Teacher(String name,int age,int salary){
            
            super(name,age);
            this.salary = salary;
        }
        public int getSalary() {
            return salary;
        }
        public void setSalary(int salary) {
            this.salary = salary;
        }

    }
    3.创建一个学生类:

    public class Student extends Person{
        
        private double score;
        public void  eat(){
            
            System.out.println("成绩为"+score+"分的"+getAge()+"岁的"+getName()+"在吃学生餐");
        }
        
        public void study(){
            
            
            System.out.println("成绩为"+score+"分的"+getAge()+"岁的"+getName()+"学生在学习");
            
            
        }
        public Student(){}
        public Student(String name ,int age,int score){
            super(name,age);
            this.score = score;
        }

        public double getScore() {
            return score;
        }

        public void setScore(double score) {
            this.score = score;
        }
        
        

    }
    4.测试:

    public class test01 {

        public static void main(String[] args) {
            Teacher t = new Teacher();
            t.setName("王小平");
            t.setAge(30);
            t.setSalary(8000);
            t.eat();
            t.lecture();
            Student s = new Student("小王",14,90);
            s.eat();
            s.study();
            
        }

    }

关于Java基础中继承相关的内容有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/tech/opensource/208269.html

(0)
上一篇 2021年12月7日 09:27
下一篇 2021年12月7日 09:27

相关推荐

发表回复

登录后才能评论