zoukankan      html  css  js  c++  java
  • Java自学笔记(12):【面向对象】继承,super关键字,继承下的访问控制权限

    继承

    继承是类与类之间的关系,类似与现实世界中的分类

    子类会具有父类的一般特征,也会与自己的特有特征

    父类更通用,子类更具体

    语法规则:   建立一个类时,在类名后加    extends 父类名,则表示建立的类是父类的子类

    访问控制修饰符 修饰符 class 类名 extends 父类名 {

      ······················

      ······················

    }

    示例:

    public class Person {                   //父类
        String name;
        int age;
        void print() {
            System.out.println(name+"今年"+age+"岁");
        }
    
    }
    public class Student extends Person {        //子类
        String clazz;
        void print() {
            System.out.println(name+"今年"+age+"岁");
        }
    }
    public class Teacher extends Person {         //子类
        String profession;
        void print(){
            System.out.println(name+"今年"+age+"岁");
        }
    }
    public class Demo {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Person person = new Person();
            person.age=18;
            person.name="小明";
            person.print();
            
            Student stu = new Student();
            stu.name="渣渣辉";
            stu.age=40;
            stu.print();
        }
    
    }

    结果如下:

    继承的特点: 继承是让子类继承父类的特征和行为

    子类中拥有所有父类中非private修饰的成员,和子类自己的成员


    super

    作用:    1,调用父类的属性

        2,调用父类中的方法

        3,调用父类中的构造方法                 //这里的父类指直接父类

    何时使用:子类中有与父类同名的成员,使用super以调用父类中的成员。 使用方法和类中的this关键字类似

    调用构造方法:

    public class Student extends Person {
        String clazz;
        public Student(String name,int age) {
            super(name,age);  //必须为第一条语句   //调用父类的构造函数
        }
        void print() {
            System.out.println(name+"今年"+age+"岁");
        }
    }

    继承下的访问控制权限

    主要区别在protected和default上,子类不同包时,protected可见,default不可见,详情见笔记(11)中的表格

  • 相关阅读:
    Nginx 学习笔记(七)如何解决nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
    jQuery基础 (四)——使用jquery-cookie 实现点赞功能
    Travis CI实现持续部署
    三大云安全工具(CASB、CSPM、CWPP)的使用场景
    数据访问安全代理 CASB
    SDP(软件定义边界)让SDN更安全,你的对面可不能是一条狗!
    从BeyondCorp说起
    [Docker] Docker整体架构图
    当博弈论遇上机器学习:一文读懂相关理论
    用Rust重写Linux内核模块体验
  • 原文地址:https://www.cnblogs.com/tkj521Ya/p/11231941.html
Copyright © 2011-2022 走看看