java generic super, extend】的更多相关文章

//Apple Orange 都继承自Fruit类,同时Jonathan是Apple的子类    List<? extends Fruit> list = new ArrayList<Apple>();    //list.add(new Apple());Error    //list.add(new Fruit());Error List<? super Fruit> list = new ArrayList<Apple>();    list.add(…
java generic type: 类型安全.类型参数化.不需要强制转换…
JAVA面向对象-–super关键字 1:定义Father(父类)类 1:成员变量int x=1; 2:构造方法无参的和有参的,有输出语句 2:定义Son类extends Father类 1:成员变量int y=1; 2:构造方法无参和有参的.有输出语句this.y=y+x; 3:创建Son类对象 Son son=new Son(3); System.out.println(son.y); //4 class Father { int x = 1; Father() { System.out.p…
Java 泛型 <? super T> 中 super 怎么 理解?与 extends 有何不同? 简介 前两篇文章介绍了泛型的基本用法.类型擦除以及泛型数组.在泛型的使用中,还有个重要的东西叫通配符,本文介绍通配符的使用. 这个系列的另外两篇文章: Java 泛型总结(一):基本用法与类型擦除 Java 泛型总结(二):泛型与数组 数组的协变 在了解通配符之前,先来了解一下数组.Java 中的数组是协变的,什么意思?看下面的例子: class Fruit {} class Apple ext…
python 的 super 是一个函数,需要两个参数,第一个参数是类,第二个参数是实例,返回值是一个类对象. 其意义是:站在参数2这个实例的角度看去, 参数1这个类的‘父亲’是谁,把‘父亲’返回. 详情见这里. Java 的 super 是一个引用,即一个指针,它指向的是本类内部的那个父类对象. 可以用 super.xxx 来访问父类的成员变量或成员函数. 另外 Java 的 super 有一个特殊用法,就是 super(args),看起来像个函数似的,其实不是. 这种特殊用法只限于写在构造函…
1.super()和this()区别: super():调用父类无形参的构造方法: super(形参):调用父类中某个带形参的构造方法: this(形参):调用本类中另一种形式的构造方法: 注意:放在方法的首行: 2.super和this的区别: super.父类的成员变量: super.父类的方法: super:当子类中的成员变量.方法和父类的相同时,实现调用父类的成员变量和方法: this:代表当前的对象: 使用的地方:若函数的形参和成员变量同名时,需要用this.成员变量名 原文出处: s…
Java的super.this.重写 一.super的注意点: super调用父类的构造方法,必须在构造方法的第一个: super只能出现在子类的构造方法或者方法中: this和super不能同时调用构造方法 二.super和this的比较 代表的对象不同 this:本身调用者这个对象 super:代表父类对象的应用 前提不同 this:没有继承也可以使用 super:只有在继承条件下才能使用 构造方法不同 this():本类的构造 super():父类的构造 三.重写 重写:需要有继承关系,子…
通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中的全局函数和全局变量.但是,并不是说有了这种便利,你便可以随处使用,如果那样的话,你便需要认真考虑一下自己是否在用面向对象的思想编程,自己的程序是否是面向对象的. 好了,现在开始讨论this&super这两个关键字的意义和用法. 在Java中,this通常指当前对象,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(Str…
在java中this表示当前类中的对象,super则表示父类中的对象.比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目的,当然,this的另一个用途是调用当前对象的另一个构造方法,如果你想引用父类的某种东西,则选super. class Person { public static void prt(String s) { System.out.println(s); } //父类构造函数1 Person() { prt("A Person."); } /…
摘要:在Java中我们会时常用到super及this的用法,现在我主要来区分一下super.和this.及superL()及this()之间的区别,来对它们的认识和了解: 1.this的用法在Java中: ①:this.:this加点指此时代表当前对象,能操作当前类里面的所有属性及方法以及父类继承而来能被访问修饰符允许的属性和方法. super.:此时指代当前对象类的父类对象部分,不能操作到本类的属性和方法,能操作到父类的能被父类访问修饰符允许的属性和方法,只有当本类中调用被重写前的效果时使用s…
<span style="font-size:18px;">本质:这两个都是调用构造方法的方法.</span> 在java中,super()是在当前类的构造器(能够是无參的也能够是有參的)中调用父类的构造方法(有參或无參). 并且必须是第一句. 也能够通过supekeyword调用父类被隐藏的变量. 比方父类有一个变量为:string str.而子类中也有str这个变量.这个时候就能够用super.str调用父类的该变量了. this()是在当前类调用本类的重载…
1.子类的构造函数如果要引用super的话,必须把super放在函数的首位,如果想用super继承父类构造的方法,但是没有放在第一行的话,那么在super之前的语句,肯定是为了满足自己想要完成某些行为的语句,但是又用了super继承父类的构造方法.那么以前所做的修改就都回到以前了,就是说又成了父类的构造方法了. 2. 在Java中,有时还会遇到子类中的成员变量或方法与父类中的成员变量或方法同名.因为子类中的成员变量或方法名优先级高,所以子类中的同名成员变量或方法就隐藏了父类的成员变量或方法,但是…
1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位.   class Base {   Base() {   System.out.println("Base");   }   }       public class Checket extends Base {   Checket() {   super();//调用父类的构造方法,一定要放在方法的首个语句   System.out.println("Checket");   }    …
引言: 一个公司里有普通员工和经理,他们之间有很多共同点,但也有一些差异,比如薪水问题,普通员工只有普通工资,经理在完成绩效后有一定比例的奖金.这时我们可以定义两个类Employee和Manager,显然两个类之间存在明显的"is-a"关系---经理也是公司员工,而"is-a"关系是继承关系的特征,所以Employee和Manager之间存在继承关系. 正文:        下面是Employee类: /** * 员工类 */ public class Employ…
super关键字 10.1子父类中构造方法的调用 public class Test { public static void main(String[] args) { new Zi(); } } class Fu{ int num ; Fu(){ System.out.println("Fu构造方法"+num); num = 4; } } class Zi extends Fu{ Zi(){ //super(); 调用父类空参数构造方法 System.out.println(&qu…
要说super就先要说this."this",作为一个特殊的关键字,它的规则如下: 1.可以表示构造函数传递.this(a,b)表示调用另外一个构造函数.这里面的this就是一个特殊语法,不是变量,没有什么类型. 2.可以在一个类的非static成员内部使用,表示当前这个对象.此时,this就是一个final的普通变量,它有静态类型,就是这个类C本身:它有动态类型,就是当前这个对象的类型.你可以对它调用成员函数,把它传递给别的函数,等等等等.只要一个C类型的final变量可以出现的地方…
------super关键字------                 super用途:在子类中访问超类“被隐藏的成员变量(无论是否静态)和静态方法”以及“被重写的实例方法”.这里的超类必须是“直接超类”,即子类之上最近的超类.        super的用法:        ①在子类构造方法中调用超类的构造方法,用“super(ParamList)”的方式调用,ParamList根据超类构造方法而定,可以为空.另外super(ParamList)必须是子类构造方法的第一句.        ②…
在Java中,super关键字有2个用法,一个是访问父类的函数,一个是访问父类的变量,总体来说,就是一个功能,访问父类的成员. 代码如下: class Person { String name ; int age; String school; public Person(String name,int age) { this.name = name; this.age = age; } public void talk() { System.out.println("name is "…
super关键字: 在java中使用super来引用基类的成分. 程序code: class FatherClass{ public int value; public void f(){ value = 100; System.out.println("FatherClass.value:"+value); } } class ChildClass extends FatherClass{ private int value; public void f(){ super.f();…
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…
Java中的super是什么?java中的super关键字是一个引用变量,用于引用父类对象.关键字“super”以继承的概念出现在类中.主要用于以下情况: 1.使用super与变量:当派生类和基类具有相同的数据成员时,会发生此情况.在这种情况下,JVM可能会模糊不清.我们可以使用以下代码片段更清楚地理解它: /* Base class vehicle */ class Vehicle { int maxSpeed = 120; } /* sub class Car extending vehic…
一.super关键字…
一.this用法 概念:this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的指针. this的用法在java中大致可以分为三种: 1. 普通对象的直接引用:this相当于指向当前对象本身. 2. 形参与成员名字重名时,用this来区分. class Person { private int age = 10; public Person(){ System.out.println("初始化年龄:"+age); } public int GetAge(int age){ t…
package com.ssm.java; /** * Super * usage1:super. 直接去调用父类的方法和属性. * usage2:放在构造器中的第一位,代表引用父类的构造器. */ class SuperSub { String name; void value() { name = "China"; } SuperSub(){ System.out.println("父类,无参构造方法"); } SuperSub(String name){ Sy…
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(Str…
如果希望在子类中,去调用父类的构造方法,要求在子类的构造函数调用 example如下: package test; /* * 如果希望在子类中,去调用父类的构造方法,要求在子类的构造函数调用 * */ public class test4 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Kkk kk = new Kkk(12,"dd");…
简单粗暴的说就是: super: 是指父类,想要在子类方法中调用父类的实例变量或方法可以通过super 来访问 this:是指当前类,想要访问当前类的实例变量和方法可以使用this,同时可以省略…
用super调用父类构造方法 类如果没有显式声明构造方法,则自动生成无参数的默认构造方法. 1.先用一个无参数的父类构造方法验证一下, 执行子类构造方法会自动调用父类的构造方法.测试代码: class Human3{ public Human3(){ System.out.println("构造一个人"); } } class Pupil3 extends Human3{ public Pupil3(){ // super(); //本句注释与不注释执行结果是一样的 System.ou…
If you override a method from your superclass (or your superclass's superclass etc.), super.theMethod() will invoke the original method instead of the one you overrode it with. If you did not actual override theMethod, super.theMethod() will act exac…