zoukankan      html  css  js  c++  java
  • 面向对象10super详解

    package com.oop;

    import com.oop.demo05.Person;
    import com.oop.demo05.Student;

    public class Application {
    public static void main(String[] args) {
    Student student = new Student();
    // student.test("袁");

    //student.test1();

    }
    }
    package com.oop.demo05;

    //学生 is 人 :派生类、子类
    //子类继承了父类,就会拥有父类的全部方法!
    public class Student extends Person{
    public Student() {
    //隐藏代码:调用了父类的无参构造

    super();//调用父类的构造器,必须放到代码的第一行

    System.out.println("student无参执行了");
    }

    protected String name = "yuan";

    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);//袁
    System.out.println(this.name);//yuan
    System.out.println(super.name);//leo
    }
    }
    package com.oop.demo05;

    //Person 人 : 父类
    //在Java中,默认都继承object类
    public class Person {

    //public
    //protected 受保护的
    //private 无法继承
    //default 默认的
    protected String name ="leo";

    public Person(){
    System.out.println("Person无参执行了");
    }

    // 私有的东西无法被继承
    public void print(){
    System.out.println("Person");
    }

    }
    super注意点:
    1.super调用父类的构造方法,必须在构造方法的第一个
    2.super必须只能出现在子类的方法或者构造方法中!
    3.super和this不能同时调用构造方法!

    Vs this:
    代表的对象不同:
    this: 本身调用这个对象
    super: 代表父类对象的应用
    前提
    this:没有继承也可以使用
    super:只能在继承条件下才可以使用
    构造方法
    this();本类的构造!
    super();父类的构造!


  • 相关阅读:
    使用Hibernate Annotations 维护多对多关系
    SpringMVC上传文件以流方式判断类型附常用类型
    Timer 及 TimerTask 相关使用代码
    String与StringBuffer与StringBuilder的区别
    Redis系统性介绍
    利用 psyco 让 Python 程序执行更快
    Linux下安装Metasploit破解Oracle登录用户名密码
    Oracle Database 10g Release 2 下载地址
    yum中找不到包时候解决方式
    Oracle 9.2.0.8 及 10.2.0.4 Patch地址
  • 原文地址:https://www.cnblogs.com/yuanzhihui/p/14874698.html
Copyright © 2011-2022 走看看