继承

  • 继承的本质是对某一批类的抽象,从而实现对世界更好的建模
  • extend的意思是“扩展”,子类是父类的扩展。
  • Java中类只有单继承,没有多继承;儿子只能有一个亲生爸爸,一个爸爸可以有多个儿子
  • 继承是类与类之间的一种关系。除此之外还有依赖,组合,聚合等
  • 继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类使用关键字extend
public class Person {

    //    public>protected>default>private
private int money=10000000;
public void say(){
System.out.println("说了一句话");
} public int getMoney() {
return money;
} public void setMoney(int money) {
this.money = money;
}
} //学生 is 人 :派生类 ,子类
public class Student extends Person{ } public class Application {
public static void main(String[] args) {
Student student=new Student();
student.say();
System.out.println(student.getMoney()); }
}

super

注意点:

​ 1.super调用父类的构造方法,必须在构造方法的最前面

​ 2.super只能出现在子类方法或构造方法中

​ 3.super和this不能同时调用构造器

VS this:

​ 代表的对象不同:

​ this:本身调用者这个对象

​ super:代表父类对象的应用

​ 前提:

​ this:没有继承也可以使用

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

构造方法:

​ this():本类的构造方法

​ super():父类的构造

public class Person {

    public Person() {
System.out.println("Person无参被执行了");
} protected String name="kuangshen";
public void print(){
System.out.println("Person");
}
//私有的不能被继承
public void print2(){
System.out.println("Person");
}
} public class Student extends Person {
private String name = "qinjiang"; public Student() {
// 隐藏代码,调用父类无参super()
super();//显示调用父类构造器的话,必须放在子类构造器的第一行 System.out.println("Student无参被执行了");
} public void print(){
System.out.println("student");
} public void test1(String name) {
System.out.println(name);//秦疆
System.out.println(this.name);//qinjiang
System.out.println(super.name);//kuangshen
System.out.println("============");
print();//student
this.print();//student
super.print();//Person
}
} import com.oop.Demo05.Student; public class Application {
public static void main(String[] args) {
// Person无参被执行了
// Student无参被执行了
Student student=new Student(); // student.test("秦疆");
// student.test1("秦疆"); }
}

父类私有方法不能被继承,子类构造方法中都隐藏代码super()调用父类构造方法,若显示调用父类构造器的话,必须放在子类构造器的第一行;

this.方法()和方法()都是调用本类的方法

super.方法()是调用父类的

继承及super关键字的更多相关文章

  1. 面向对象编程(十)——继承之Super关键字及内存分析

    Super关键字

  2. java学习笔记-继承中super关键字

    背景: 在java继承的概念中我们得知,被声明为私有的类成员对所属的类来说仍然是私有的.类之外的任何代码都不能访问,包括子类. super关键字的两种用法: 1.用于调用超类的构造函数: 2.用于访问 ...

  3. Java面向对象-Java类的继承及super关键字

    Java面向对象-Java类的继承 1,继承定义以及基本使用 定义:子类能够继承父类的属性和方法: 注意点:Java中只支持单继承: 私有方法不能继承: 上代码: package com.java12 ...

  4. Java继承:super关键字、构造器、final用法

    一.继承 继承好处 1.提高代码的重用性 2.提高代码的扩展性和维护性 3.为多态打下了基础 继承类型 继承子类创建对象的过程 二.super关键字的使用 理解:super代表父类的引用,用于访问父类 ...

  5. java的继承 和super关键字 构造器

    面向对象的特性二继承: 继承的好处: 1.减少代码的冗余.提高了代码的复用性 2.便于功能的扩展 3.为之后多态的使用,提供了前提 继承的格式: class A extends B{} A:子类.派生 ...

  6. Java面向对象----继承概念,super关键字

    继承概念: 继承需要符合的关系  is-a  , 父类通用更抽象,子类更特殊更具体 类之间的关系 继承体现 组合体现 实现接口体现 继承的意义 代码重用 体现不同抽象层次 extends关键字 Sup ...

  7. Java: 类继承中 super关键字

    super 关键字的作用有两个: 1)在子类中调用超类的构造器,完成实例域参数的初始化,调用构造器的语句只能作为另一个构造器(通常指的是子类构造器)的第一条语句出现, 2)在子类中调用超类的方法,如: ...

  8. 继承之super关键字的使用

    一.super关键字: 在对象的内部使用,可代表父类对象. 1. 访问父类的属性:super.age 2. 访问父类的方法:super.eat() 例: package 关键字extends; pub ...

  9. java-引用数组、继承、super关键字

    1.引用类型数组: 1)   Cell[] cells = new Cell[4];   cells[0] = new Cell(2,5); cells[1] = new Cell(2,6); cel ...

随机推荐

  1. for循环题目记录

    1.求1000以内的完数 /** * 一个数如果恰好等于它的因子之和,这个数就是完数,找出1000内的所有完数 * @author 努力Coding * @version * @data */ pub ...

  2. day1 三位数各个位上的数字和

    int main(){ int x = 0; scanf("%d", &x); if (x > 999 || x < 0) { printf("输入错 ...

  3. JavaScript中数字常用方法

    数字常用方法 (1)返回0-1(不包含1)随机小数(random()) 格式:Math.random() var num=parseInt(Math.random()*11) //拿到0-10中的随机 ...

  4. 🏆【Alibaba中间件技术系列】「RocketMQ技术专题」系统服务底层原理以及高性能存储设计分析

    设计背景 消息中间件的本身定义来考虑,应该尽量减少对于外部第三方中间件的依赖.一般来说依赖的外部系统越多,也会使得本身的设计越复杂,采用文件系统作为消息存储的方式. RocketMQ存储机制 消息中间 ...

  5. IoC容器-Bean管理(bean生命周期)

    1,生命周期 即从对象创建到对象销毁的过程 2,bean生命周期 (1)通过构造器创建bean实例(无参数构造) (2)为bean的属性设置值和对其他bean的引用(调用set方法) (3)调用bea ...

  6. 多线程-守护线程-setDaemon

    1 package multithread4; 2 /* 3 * 停止线程: 4 * 1,stop方法. 5 * 6 * 2,run方法结束. 7 * 8 * 怎么控制线程的任务结束呢? 9 * 任务 ...

  7. vue开源项目有点全

    目录 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 UI组件 element ★31142 - 饿了么出品的Vue2的web UI工具套件 Vux ★14104- 基于Vue和 ...

  8. 《Effective TypeScript》条款22 - 类型收缩

    本文主要记录书中关于TypeScript类型收缩的内容 本文主要内容如下 类型收缩的一些方法 条件判断 抛错误 instanceof 和 in 属性检查 "标签联合"或" ...

  9. Redis 源码简洁剖析 06 - quicklist 和 listpack

    quicklist 为什么要设计 quicklist 特点 数据结构 quicklistCreate quicklistDelIndex quicklistDelEntry quicklistInse ...

  10. Android利用zxing生成二维码

    感谢大佬:https://blog.csdn.net/mountain_hua/article/details/80646089 **gayhub上的zxing可用于生成二维码,识别二维码 gayhu ...