zoukankan      html  css  js  c++  java
  • Java(六)——面向对象(2)-继承

    一、继承介绍

    通过继承,只需要编写额外的功能,不再需要重复代码

    注意:

    • 在Java中,没有明确写extends的类,编译器会自动加上extends Object。所以,任何类,除了Object,都会继承自某个类
    • Java只允许一个class继承自一个类,因此,一个类有且仅有一个父类
    • 继承有个特点,就是子类无法访问父类的private字段或者private方法,把private改为protected子类就可以访问父类中的变量和方法
    • super关键字表示父类(超类,基类)
    • 在Java中,任何class的构造方法,第一行语句必须是调用父类的构造方法。如果没有明确地调用父类的构造方法,编译器会帮我们自动加一句super();
    public class Person{
        protected String name;
        protected int age;
        
        public Person(String name, int age){
            this.name = name;
            this.age = age;
        }
    }
    
    public class Student extends Person{
        private String sex;
        
        public Student(String name, int age, String sex){
            super(name, age);
            this.sex = sex;
        }
        
        public String getName(){
            return "ok"+name       // 该name为父类中的name,  这里使用super.name,或者this.name,或者name,效果都是一样
        }
    }
    

    二、super关键字

    // super的用法
    1. super.成员变量    // 调用父类的成员变量
    2. super(参数)    // 调用父类的构造方法
    3. super.成员方法   // 调用父类的成员方法
    

    三、向上转型

    public class Person{
        
    }
    
    public class Student extends Person{
        
    }
    
    Person p = new Person;
    Person p = new Student;
    

    四、向下转型

    可以强制向下转型,最好借助instanceof判断

    Person p = new Student();
    if (p instanceof Student) {
        // 只有判断成功才会向下转型:
        Student s = (Student) p; // 一定会成功
    }
    
  • 相关阅读:
    接口测试小结
    UI自动化例子
    SQL Server 索引结构及其使用(二)
    SQL Server 索引结构及其使用(一)
    SQL Server 索引结构及其使用(四)
    SQL Server 索引结构及其使用(三)
    SQL Server 索引和视图
    Nginx 代理配置
    Java常见框架和工具
    MYSQL 存储过程 范例
  • 原文地址:https://www.cnblogs.com/linagcheng/p/12166765.html
Copyright © 2011-2022 走看看