Java基础- super 和 this 解析

1. superkeyword表示超(父)类的意思。this变量代表对象本身。

2. super訪问父类被子类隐藏的变量或覆盖的方法。当前类假设是从超类继承而来的,当调用super.XX()就是调用基类版本号的XX()方法。

当中超类是近期的父类。

3.调用super() 父类构造函数的时候仅仅能调用在子类构造函数的第一行

4.this仅仅能在类中的非静态方法中使用。静态方法和静态的代码块中绝对不能出现this,这在“Javakeywordstatic、final使用总结”一文中给出了明白解释。

而且this仅仅和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this

列子:

class Person {
    protected void print() {
       System.out.println("The print() in class Person.");
    }
}

public class DemoSuper extends Person {

    public DemoSuper(){

       super(); //调用父类的构造方法。并且放第一行。假设不写,系统自己主动加
    }
    public void print() {
       System.out.println("The print() in class DemoSuper.");
       super.print();// 调用父类的方法
    }

    public static void main(String[] args) {
       DemoSuper ds = new DemoSuper();
       ds.print();
    }
}
时间: 2024-10-25 14:36:07

Java基础- super 和 this 解析的相关文章

JAVA基础--super关键字

super一般出现子类的构造方法中.super语句必须写在第一行,super一般用来调用父类的构造方法.是为了给父类的属性初始化,以便子类使用这些属性. 子类继承后,如果没有定义自己的属性或者重写自己的方法,那么当创建对象之后,对象调用的就是父类中的属性和方法. 如果拥有则使用自己的属性和方法. 在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候(调用构造器的时候)这个子类对象里面又会创建一个父类对象super.

Java基础——集合源码解析 List List 接口

今天我们来学习集合的第一大体系 List. List 是一个接口,定义了一组元素是有序的.可重复的集合. List 继承自 Collection,较之 Collection,List 还添加了以下操作方法 位置相关:List 的元素是有序的,因此有get(index).set(index,object).add(index,object).remove(index) 方法. 搜索:indexOf(),lastIndexOf(); 迭代:使用 Iterator 的功能板迭代器 范围性操作:使用 s

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

用super调用父类构造方法 类如果没有显式声明构造方法,则自动生成无参数的默认构造方法. 1.先用一个无参数的父类构造方法验证一下, 执行子类构造方法会自动调用父类的构造方法.测试代码: class Human3{ public Human3(){ System.out.println("构造一个人"); } } class Pupil3 extends Human3{ public Pupil3(){ // super(); //本句注释与不注释执行结果是一样的 System.ou

java基础 super 子类调用父类

如果希望在子类中,去调用父类的构造方法,要求在子类的构造函数调用 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");

java基础 super和this

1 /** 2 * super关键字的用法有三种: 3 * 1.在子类的成员方法中,访问父类的成员变量 4 * 2.在子类的成员方法中,访问父类的成员方法 5 * 3.在子类的构造方法中,访问父类的构造方法 6 * 7 * this和super区别 8 * super关键字用来访问父类内容,this关键字用来访问本类内容. 9 * 1.在本类的成员方法中,访问本类的成员变量 10 * 2.在本类的成员方法中,访问本类的另一个成员方法 11 * 3.在本类的构造方法中,访问本类的另一个构造方法 1

java基础之概谈xml文件解析

XML已经成为一种很通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.诸多web应用框架,其可配置的编程方式,给我们的开发带来了很大程度的便捷,但细细想来,它们的应用无一不是java bean与xml之间的转换解析.本文将对xml的两种操作标准DOM和SAX,从它们各自的特点.适用范围等方面进行简单介绍. DOM (Document Object Model) :DOM标准中,采用W3C标准表示XML,有多重语言支持,因此其跨平台性很好.采用DOM规范

java基础解析系列(十一)---equals、==和hashcode方法

java基础解析系列(十一)---equals.==和hashcode方法 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)---Integer缓存及装箱拆箱 java基础解析系列(三)---HashMap原理 java基础解析系列(四)---LinkedHashMap的原理及LRU算法的实现 java基础解析系列(五)---HashMap并发下的问题以及HashTable和CurrentHashMap的区别 j

【转载-Java基础】Java中的static关键字解析

[转载]Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题.以下是本文的目录大纲: 一.static关键字的用途 二.static关键字的误区 三.常见的笔试面试题 若有不正之处,希望谅解并欢迎批评指正. 请尊重作者劳动成果,转载请标明原文链接:http://www.

java基础问题总结

1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象. 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类).派生类可以从它的基类那里继承方法和实例变量,并