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)中的表格

  • 相关阅读:
    U盘禁用工具1.3
    《中文专业论文写作概论》笔记
    基于WAP1.0的手机论坛网站系统
    销售统计SQL
    移动如何保护个人开发者的合法权益?
    c#使用winnet检测网络连接状况
    HBASE客户端的一些参数设置
    代理模式
    使用Eclipse+Axis2生成webservice
    java多线程的理解
  • 原文地址:https://www.cnblogs.com/tkj521Ya/p/11231941.html
Copyright © 2011-2022 走看看