super 关键字:super 关键字代表父类对象,其主要用途有:在子类的构造方法中,调用父类的构造方法。在子类的方法中,访问父类的属性和方法。 调用父类构造方法:若在子类的构造方法中,没有明确写明调用父类的构造方法,则系统会自动调用父类不带参数的构造方法,即执行 super()。此时,如果父类没有提供不带参数的构造方法,则会产生错误,编译失败。 访问父类的属性和方法:当子类的属性与父类的属性同名时,可以使用 “super.属...
要说super就先要说this。
"this",作为一个特殊的关键字,它的规则如下:
1。可以表示构造函数传递。this(a,b)表示调用另外一个构造函数。这里面的this就是一个特殊语法,不是变量,没有什么类型。
2。可以在一个类的非static成员内部使用,表示当前这个对象。此时,this就是一个final的普通变量,它有静态类型,就是这个类C本身;它有动态类型,就是当前这个对象的类型。你可以对它调用成员函数,把它传递给别的函数,等等等等。只...
1. 方法重载与方法复写的区别 区别方法重载方法复写英文单词OverloadingOverride概念方法名称相同,参数的个数或者类型不同方法名称相同,参数的个数和类型相同,方法的访问权限不能更严格使用范围发生在同一个类中发生在继承关系中,是由子类进行复写 2. super与this的比较 比较superthis使用范围是由子类访问父类中的内容是直接访问本类中的内容访问属性时的格式super.父类属性, 如果属性没有被复写,则也可以不写superthis.本类属...
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的区别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继承父类构造的方法,但是没有放在第一行的话,...
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...
this表示当前对象,也就是当前类对象。super表示当前类的父类。this()语句和super()语句,只能在构造方法中使用,且都只能在构造方法中的第一行,所以他们不能同时出现。如果一个类有父类,则这个类中所有构造方法中默认存在super()语句,这个语句用来调用父类的构造方法,所以说父类优先创建于子类。如果这个之类的构造方法中有this()语句,则就不能存在super()语句,this()表示调用当前类的构造方法。 this和this(),this是关键字...
super 关键字含义super : 超级的含义: 在Java中代表当前对象的 直接父类对象的引用
用法分类super.
super(实际参数)
super(实际参数)super():代表调??类?参的构造
super(参数):调??类有参的构造
作用: 在?类构造?法中调??类的构造?法
特点:1.如果?类构造?法中的第??没有this()或者this(参数),也不是super(参数) 默认是super(),构造?法的第??不是this(...)就是super(...)2.super()和super(参数)只能在构造?法的第?...
1. superkeyword表示超(父)类的意思。this变量代表对象本身。2. super訪问父类被子类隐藏的变量或覆盖的方法。当前类假设是从超类继承而来的,当调用super.XX()就是调用基类版本号的XX()方法。当中超类是近期的父类。3.调用super() 父类构造函数的时候仅仅能调用在子类构造函数的第一行4.this仅仅能在类中的非静态方法中使用。静态方法和静态的代码块中绝对不能出现this,这在“Javakeywordstatic、final使用总结”一文中给出了...
目录Java之super关键字调用父类成员变量调用父类的方法调用父类构造器Java之super关键字话不多说,直接上代码:package com.my.pac14;/*** @auther Summerday*/
public class SuperTest {public static void main(String[] args) {SubClass sb = new SubClass(20);//创建子类的对象,调用子类的print方法sb.print();}
}class BaseClass {public int a = 5;public int b;static public int c = 30;BaseClass(int b) {this.b = b;Sys...
在重写一个类的时候,this()里面传参数代表调用构造函数。this.什么代表调用属性或者方法。super()还有super.都是父类的实现。public class MysimpleDateFormat extends SimpleDateFormat {
public MysimpleDateFormat() {this("yyyy-MM-dd hh:mm:ss");
}public MysimpleDateFormat(String arg0) {super(arg0);}public MysimpleDateFormat(String arg0, Locale arg1) {super(arg0, arg1);}public MysimpleDateFormat(String ar...
this this是自身的一个对象,代表对象本身。 this一般有3种用法: 1.普通的直接引用:this.userName 2.形参与成员名字重名,this起到区分作用package string;public class ThisTest {private String name;public void setName(String name){this.name = name;}
}3.引用构造函数 见super的第3种用法。super super可以理解为指向自己父类对象的一个指针,而这个父类指的是自己的直接父类,也就是离自己最近的...
学编程吧学java教程之super关键词教程发布了,欢迎大家通过xuebiancheng8.com来访问。前面一次课分析了this关键词的用法,this关键词主要有两个作用,第一个作用是访问当前对象的构造方法,第二个作用是访问当前对象的构造方法,其实super和this关键词的作用相似,super的作用有访问父类的构造方法,第二个作用访问父类的属性和方法。下面我们来分析super关键词的作用。先来看一个例子public class Person{ private String us...
本文来源:https://i.cnblogs.com/EditPosts.aspx?opt=1感谢博主。本文仅供参考学习。 Java 泛型关键字说明? 通配符类型<? extends T> 表示类型的上界,表示参数化类型的可能是T 或是 T的子类<? super T> 表示类型下界(Java Core中叫超类型限定),表示参数化类型是此类型的超类型(父类型),直至Objectextends 示例static class Food{}
static class Fruit extends Food{}
static class Apple extends Fruit{}
static class Re...
一.通配符上限和通配符下限接受的类型 通配符上限:<? extends T> 通配符下限:<? super T> 以下代码是测试结果,注释为解释说明 1package xayd.hjj;2 3import java.util.ArrayList;4import java.util.List;5 6class A{}7class B extends A implements F{}8class C extends A{}9class D extends A{}
10class E{}
11interface F{}
1213publicclass Test{
1415publicstaticvoid main(String[] args) {
1617//下面五...