首页 > 编程语言 >java学习笔记36

java学习笔记36

时间:2022-10-16 14:13:13浏览次数:54  
标签:java 36 笔记 class Person Student 父类 super public

面向对象

super详解

子类调用父类的方法与属性

package oopzong.oop.oop4;

public class Application {
   public static void main(String[] args) {
       Student student = new Student();
       student.test("父慈子孝");

  }
}


public class Person {
  protected String name = "woshinidie";
}


public class Student extends Person {
   private String name = "woshinier";

   public void test(String name){
       System.out.println(name);
       System.out.println(this.name);
       System.out.println(super.name);
  }

}

父慈子孝
woshinier
woshinidie

 

package oopzong.oop.oop4;

public class Application {
   public static void main(String[] args) {
       Student student = new Student();
       student.test1();

  }
}



public class Person {

  public void print(){
      System.out.println("Person");
  }
}



public class Student extends Person {
   public void print(){
       System.out.println("Student");
  }
   public void test1(){
      print();
      this.print();
      super.print();
  }

}

Student
Student
Person

 

super构造器的调用

package oopzong.oop.oop4;

public class Application {
   public static void main(String[] args) {
       Student student = new Student();
  }
}


public class Person {

   public Person() {
       System.out.println("Person无参执行了");
  }//必须要有无参构造,如果父类没有子类也无法写,父类是有参构造,子类也只能调用有参构造
}



public class Student extends Person {

   public Student() {
       //隐藏代码:调用了父类的无参构造
       super();//调用父类的构造器必须在子类构造器的第一行
       System.out.println("Student无参执行了");
  }
   
}    

Person无参执行了
Student无参执行了

super注意点:

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

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

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

 

对比 this:

代表的对象不同:

this: 本身调用着这个对象

super:代表父类对象的应用

前提

this:没有继承也可以使用

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

构造方法

this();本类的构造

super();父类的构造

标签:java,36,笔记,class,Person,Student,父类,super,public
From: https://www.cnblogs.com/12345ssdlh/p/16796114.html

相关文章

  • 信息安全系统设计与实现学习笔记7
    一、知识点归纳以及自己最有收获的内容1、知识点归纳第4章并发编程1、并行顺序算法——begin-end包含多个步骤,通过单个任务依次执行,每次执行一个步骤并行算法—......
  • C语言笔记
    Part41.程序语言的功能是:数据表达与数据处理。     数据表达就是变量定义,对数据进行定义。例如:inta,就是对a这个变量进行整型的定义。     数据处理就......
  • 20201322陈俊池学习笔记7
    第四章并发编程4.1并行计算导论在早期,大多数计算机只有一个处理组件,称为处理器或中央处理器(CPU)。受这种硬件条件的限制,计算机程序通常是为串行计算编写的。要求解某个......
  • vue2笔记一
    1.vue脚手架用来创建vue项目的工具包创建项目:npminstall-gvue-clivueinitwebpackVueDemovuecreate项目名称开发环境运行:cdVueDemo......
  • vuex笔记
    1.vuex是什么github站点:https://github.com/vuejs/vuex在线文档:https://vuex.vuejs.org/zh-cn/简单来说:对应用中组件的状态进行集中式的管理(读/写)2.状态自......
  • 原生JavaScript
    原生JavaScript为了方便查看.所有的js和css代码都是嵌入式直接写在html代码中1.js的引入方式<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8">......
  • TypeScript笔记
    TS(就是JS的超集)是静态类型是弱类型(允许隐式转化)下载Ts编译器:npmi-gtypescript查看Ts:tsc使用编译器将Ts文件编译成为js文件使用:tsc文件名.ts指定路径输出:tsc--......
  • ECharts笔记
    ECharts笔记使用五步骤:引入echart.js→准备显示的盒子→初始化echarts实例对象→准备配置项→将配置项设置给echarts实例对象通用配置(所有配置项都可以添加)//......
  • MongoDB笔记
    MongoDB笔记非关系型数据库中的文档数据库本质就是存各种各样的JSON(数据库(集合(文档)))(数据库(集合(文档)))安装使用步骤:--下载安装--将bin文件目录添加到path路径--在C盘根......
  • HTML5+CSS3笔记
    HTML1、独占一行的称为块元素li是块元素2、a标签中target属性的可选值<ahref="https://www.baidu.com"target="_self">本页面打开</a><ahref="https://www.......