Java基础-super关键字与this关键字

class Human3{
public Human3(){
System.out.println("构造一个人");
}
}
class Pupil3 extends Human3{
public Pupil3(){
// super(); //本句注释与不注释执行结果是一样的
System.out.println("构造了一个学生 ");
}
}
public class Example3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Pupil3 pupil3=new Pupil3();
}
}

运行结果:
表明,子类构造方法会默认调用父类的构造方法,对于无参的父类构造方法,写不写super()输出结果是一样的。

class Human3 {
private String name;
private int age;
public Human3(String name) {
super();
this.name = name;
System.out.println("构造一个人");
}
}
class Pupil3 extends Human3 {
private String ID;
private String name;
private int age;
public Pupil3(String name, String iD, int age) {
super(name);
ID = iD;
this.age = age;
System.out.println("构造一个小学生");
}
}
public class Example3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Pupil3 pupil3 = new Pupil3("张三", "p123", 10);
}
}

运行结果
3.此时如果注释掉super方法就会报错。
报错原因:子类必须继承父类的构造方法,如果父类构造方法中没有参数传递,那么默认是不写super()继承父类的构造方法的。
Human3类的构造方法没有无参数的构造方法,所以,必须继承父类有参数的构造方法,所以,必须写super关键字来继承父类的有参数的构造方法。
super.父类字段名
super.父类方法名(可选实参表)
对象名.方法名(实参表)
对象名.字段名
版权声明:本文为博主原创文章,未经博主允许不得转载。
Java基础-super关键字与this关键字的更多相关文章
- Java基础语法(11)-面向对象之关键字
title: Java基础语法(11)-面向对象之关键字 blog: CSDN data: Java学习路线及视频 1.this this是什么 它在方法内部使用,即这个方法所属对象的引用: clas ...
- Java基础笔记(2) 程序入口 关键字 标识符 常量 变量
提醒:关于那些和我一样新鸟来看资料的,能看懂多少看多少,看不懂的就是不重要,重要的你想我自己学习肯定要标注的,这些信息明白每个知识点实际作用就好了,其他的比如等会讲的常量内存,常量池这些都是我找的资料 ...
- Java基础の乱弹琴一:assert关键字
一.概述 assert:表示断言 二.语法 在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,Java在执行的时候默 ...
- Java基础之final和abstract关键字
final final在Java中是一个保留的关键字,可以声明成员变量.方法.类以及本地变量.一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编 ...
- Java基础super关键字、final关键字、static关键字、匿名对象整理
super关键字 10.1子父类中构造方法的调用 public class Test { public static void main(String[] args) { new Zi(); } } ...
- java基础—super关键字
一.super关键字
- JAVA基础--super关键字
子类对象new的时候堆里的内存分配: 1. 父类成员变量 2. 子类成员变量 3. this对象指向自己 4. super对象指向父类 super调用父类的方法: class FatherClass ...
- 夯实Java基础(七)——Static关键字
1.static介绍 static关键字一直是各大企业中面试常常会问到的问题,主要考察面试者的基础是否扎实,下面来介绍一下static关键字. Java中static表示“全局”或者“静态”的意思,可 ...
- Java 基础 面向对象之构造方法和关键字
构造方法 构造方法简介 在开发中经常需要在创建对象的同时明确对象的属性值,比如员工入职公司就要明确他的姓名.年龄等属性信息. 那么,创建对象就要明确属性值,那怎么解决呢?也就是在创建对象的时候就要做的 ...
随机推荐
- jQuery 制作逼真的日历翻转效果的倒计时
在开发中,一些功能需要用到倒计时,例如最常见的活动开始.结束的倒计时.使用最流行的 JavaScript 库来制作这个效果很简单.下面就是一个 jQuery 制作的逼真的日历翻转效果的倒计时功能. 在 ...
- ZeroClipboard – 轻松实现复制文本到剪贴板功能
ZeroClipboard 库提供了一种把文本复制到剪贴板的简单方法.Zero 表示该库是不可见的,用户界面则完全取决于你. 该库完全兼容 Flash Player 10.0.0 或以上版本,这就要求 ...
- css通用小笔记01——导航背景
很多刚接触前端的可能遇到一些css能解决的小问题,我现在总结了一些,将会逐渐和大家分享,先是导航的背景问题,在网页中常常看到,当鼠标放到一个导航按钮上面是,就会出现一些特效,比如背景,这是最常用的,我 ...
- swift学习笔记之-可选链式调用
//可选链式调用 import UIKit /*可选链式调用(Optional Chaining) 1.在可选值上请求和调用该可选值的属性.方法及下标的方法,如果可选值有值,那么调用就会成功,返回可选 ...
- Atitti.java android反编译解决方案-----虚拟机方案
Atitti.java android反编译解决方案-----虚拟机方案 哈哈,终极解决方案是虚拟机...c++也可以反编译为汇编代码,但无需担心,因为读懂汇编太麻烦..只要不能拿到c++源码就可.. ...
- Java输入/输出流体系
在用java的io流读写文件时,总是被它的各种流能得很混乱,有40多个类,理清啦,过一段时间又混乱啦,决定整理一下!以防再忘 Java输入/输出流体系 1.字节流和字符流 字节流:按字节读取.字符流: ...
- Android 获取图片exif信息
使用android api读取图片的exif信息 布局代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/r ...
- Layout--iOS
// 系统的约束代码 @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UIView *superVi ...
- 【代码笔记】iOS-判断中英文混合的字符长度的两种方法
一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...
- 【代码笔记】iOS-创建具有中划线的文字
一, 效果图. 二,工程图. 三,代码. RootViewController.h RootViewController.m - (void)viewDidLoad { [super viewDidL ...