zoukankan      html  css  js  c++  java
  • Day09_面向对象 继承

    继承

    • 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。
    • extends的意思是“扩展”。子类是父类的扩展。
    • JAVA中类只有单继承,没有多继承!一个儿子只能有一个爸爸,但是一个爸爸可以有多个儿子
    • 继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。
    • 继承关系的俩个类,一个为子类(派生类)一个为父类(基类)。子类继承父类,使用关键字extends来表示。
    • 子类和父类之间,从意义上讲应该具有"is a"的关系.
    • object类
    • super
    • 方法重写
    package com.oop.Demo05;
    
    //在java中,所有的类,都默认直接或间接继承Object
    //Person    人:父类
    public class Person /*extends Object*/{
        public Person(){
            System.out.println("Person无参执行了");
        }
        protected String name = "kuangshen";
        //私有的东西无法被继承
        public void print(){
            System.out.println("Person");
        }
    }
    
    package com.oop.Demo05;
    
    //学生 is 人:派生类,子类
    //子类继承了父类,就会拥有父类的全部方法!
    public class Student extends Person {
        //Ctrl + H查看继承
        public Student() {
            //隐藏代码:调用了父类的无参构造
            super();//调用了父类的构造器,必须要在子类构造起的第一行
    
            System.out.println("Student无参执行了");
        }
        public Student(String name) {
            this.name = name;
        }
        private String name = "柠檬";
        public void print(){
            System.out.println("Student");
        }
        public void test1(){
            print();    //Student
            this.print();//Student
            super.print();//person
        }
        public void test(String name){
            System.out.println(name);//lemon1
            System.out.println(this.name);//柠檬
            System.out.println(super.name);//lemon
        }
    }
    
    package com.oop;
    
    
    import com.oop.Demo05.Student;
    
    public class Application {
        public static void main(String[] args) {
            Student student = new Student();
            //student.test("lemon1");
            //student.test1();
        }
    }
    

    笔试面试题

    super注意点:

    1. super调用父类的构造方法,必须在构造方法的第一个

    2. super 必须只能出现在子类的方法或者构造方法中!

    3. super和 this不能同时调用构造方法!

    Vs this:

    代表的对象不同:

    this:本身调用者这个对象

    super:代表父类对象的应用

    前提

    this :没有继承也可以使用

    super:只能在继承条件下才可以使用

    构造方法

    this();本类的构造

    super():父类的构造!

  • 相关阅读:
    You are not late! You are not early!
    在同一个服务器(同一个IP)为不同域名绑定的免费SSL证书
    Vue.js Is Good, but Is It Better Than Angular or React?
    It was not possible to find any compatible framework version
    VS增加插件 Supercharger破解教程
    Git使用ssh key
    Disconnected: No supported authentication methods available (server sent: publickey)
    VS 2013打开.edmx文件时报类型转换异常
    asp.net MVC4 框架揭秘 读书笔记系列3
    asp.net MVC4 框架揭秘 读书笔记系列2
  • 原文地址:https://www.cnblogs.com/lemonlover/p/14037273.html
Copyright © 2011-2022 走看看