【java – 构造函数必须在方法返回之前调用super()或this()】教程文章相关的互联网学习教程文章

Java_面向对象中的this和super用法【代码】

this:1、使用在类中,可以用来修饰属性、方法、构造器2、表示当前对象或者是当前正在创建的对象3、当形参与成员变量重名时,如果在方法内部需要使用成员变量,必须添加 this 来表明该变量时类成员publicvoid setName(String name) {this.name = name;} 4、在任意方法内,如果使用当前类的成员变量或者成员方法可以在其前面添加 this ,增强程序的阅读性5、在构造器中使用 “ this(形参列表) ” 显示的调用本类中重载的其他的构造器...

Java super关键字【代码】

public class Animal {//定义动物叫的方法void shout(){System.out.println("动物发出叫声");} } //定义Dog类继承Animal类 class Dog extends Animal {void shout(){System.out.println("汪汪......");}}定义测试类 public class AnimalTest {public static void main(String[] args){// TODO Auto-generated method stubDog dog=new Dog();dog.shout();} }当子类重写父类的方法后,子类对象将无法直接访问父类被重写的方法; 使用...

java基础 super 子类调用父类【代码】

如果希望在子类中,去调用父类的构造方法,要求在子类的构造函数调用example如下:package test; /** 如果希望在子类中,去调用父类的构造方法,要求在子类的构造函数调用* */publicclass test4 {/*** @param args*/publicstaticvoid main(String[] args) {// TODO Auto-generated method stubKkk kk = new Kkk(12,"dd");}}class Base {int age;String name;public Base(int age,String name){System.out.println("base");this.ag...

java方法重载(overload)、重写(override);this、super关键简介

一、方法重载: 条件:必须在一个类中,方法名称相同,参数列表不同(包括:数据类型、顺序、个数),典型案例构 造方重载。 注意:与返回值无关 二、方法重写: 条件: (1)继承某个类或实现某接口 (2)返回值类型相同、方法签名相同(方法名称+参数列表) 注意:(1)重写的方法不能比被重写方法有更严格的访问权限 (2)父类中的私有方法不能被重写 三、static关...

浅析Java泛型中extends和super作用【代码】

一、前言??最近依然在看《Java编程思想》这本书,说实话,非常晦涩难懂,除了讲的比较深入外,翻译太烂也是看不懂的一个重要原因。今天在看泛型这一章,也算是有些收获吧,所以写篇博客,记录一下其中比较容易遗忘的一个知识点:在泛型中,extends和super关键字的含义和用法。二、描述??学过Java的人应该都知道,extends和super这两个关键字的最常见的用法:extends:让一个类继承另外一个类;super:指向父类对象的引用;??但是在...

(转)Java中super的几种用法并与this的区别

1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位.class Base { Base() { System.out.println("Base"); }} public class Checket extends Base { Checket() { super();//调用父类的构造方法,一定要放在方法的首个语句 System.out.println("Checket"); } public static void main(String argv[]) { Checket c = new Checket(); }} 如果想用super继承父类...

【Java】关键字:this、super

super 关键字:super 关键字代表父类对象,其主要用途有:在子类的构造方法中,调用父类的构造方法。在子类的方法中,访问父类的属性和方法。 调用父类构造方法:若在子类的构造方法中,没有明确写明调用父类的构造方法,则系统会自动调用父类不带参数的构造方法,即执行 super()。此时,如果父类没有提供不带参数的构造方法,则会产生错误,编译失败。 访问父类的属性和方法:当子类的属性与父类的属性同名时,可以使用 “super.属...

java中Super到底是什么意思

要说super就先要说this。 "this",作为一个特殊的关键字,它的规则如下: 1。可以表示构造函数传递。this(a,b)表示调用另外一个构造函数。这里面的this就是一个特殊语法,不是变量,没有什么类型。 2。可以在一个类的非static成员内部使用,表示当前这个对象。此时,this就是一个final的普通变量,它有静态类型,就是这个类C本身;它有动态类型,就是当前这个对象的类型。你可以对它调用成员函数,把它传递给别的函数,等等等等。只...

Java中重载与复写的区别、super与this的比较

1. 方法重载与方法复写的区别 区别方法重载方法复写英文单词OverloadingOverride概念方法名称相同,参数的个数或者类型不同方法名称相同,参数的个数和类型相同,方法的访问权限不能更严格使用范围发生在同一个类中发生在继承关系中,是由子类进行复写 2. super与this的比较 比较superthis使用范围是由子类访问父类中的内容是直接访问本类中的内容访问属性时的格式super.父类属性, 如果属性没有被复写,则也可以不写superthis.本类属...

Java学习----this和super(在继承中)【代码】

publicclass Base {/*public Base() {System.out.println("Base 类的初始构造方法");}*/public Base(int x) {System.out.println("Base 类的重载构造方法");}publicvoid a() {System.out.println("Base:a()");}publicvoid b() {// this 在哪个类里就是哪个对象本身this.a();}publicstaticvoid main(String[] args) {Base obj = new Base(2);obj.b();} }Base 类的重载构造方法 Base:a() publicclass Sub extends Base{public Sub()...

java中的this与super的区别【代码】

java中的this与super的区别1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位代码如下:class Base {Base() {System.out.println("Base");}}publicclass Checket extends Base {Checket() {super();//调用父类的构造方法,一定要放在方法的首个语句 System.out.println("Checket");}publicstaticvoid main(String argv[]) {Checket c = new Checket();}}如果想用super继承父类构造的方法,但是没有放在第一行的话,...

Java 泛型中的<? super T>和<? extends T>【代码】

super 要求 ? 必须是 T 的超类或者自身extends 要求 ? 必须是T的子类或者自身/*** <? super T>* super 要求 ? 必须是 T 的超类或者自身* Super*/@Testpublicvoid testSuper() {//ArrayList泛型为String,符合<? super String>的要求,String和String本身是相同的类型List<? super String> ts = new ArrayList<String>();//正确//ArrayList的泛型是Object,Object是所有类的父类,符合<? super T>的要求List<? super String> object...

java中this和super关键字

this表示当前对象,也就是当前类对象。super表示当前类的父类。this()语句和super()语句,只能在构造方法中使用,且都只能在构造方法中的第一行,所以他们不能同时出现。如果一个类有父类,则这个类中所有构造方法中默认存在super()语句,这个语句用来调用父类的构造方法,所以说父类优先创建于子类。如果这个之类的构造方法中有this()语句,则就不能存在super()语句,this()表示调用当前类的构造方法。 this和this(),this是关键字...

Java中super 关键字是什么?用来干什么?【代码】

super 关键字含义super : 超级的含义: 在Java中代表当前对象的 直接父类对象的引用 用法分类super. super(实际参数) super(实际参数)super():代表调??类?参的构造 super(参数):调??类有参的构造 作用: 在?类构造?法中调??类的构造?法 特点:1.如果?类构造?法中的第??没有this()或者this(参数),也不是super(参数) 默认是super(),构造?法的第??不是this(...)就是super(...)2.super()和super(参数)只能在构造?法的第?...

Java基础- super 和 this 解析

1. superkeyword表示超(父)类的意思。this变量代表对象本身。2. super訪问父类被子类隐藏的变量或覆盖的方法。当前类假设是从超类继承而来的,当调用super.XX()就是调用基类版本号的XX()方法。当中超类是近期的父类。3.调用super() 父类构造函数的时候仅仅能调用在子类构造函数的第一行4.this仅仅能在类中的非静态方法中使用。静态方法和静态的代码块中绝对不能出现this,这在“Javakeywordstatic、final使用总结”一文中给出了...

构造函数 - 相关标签