JAVA继承时this和super关键字】的更多相关文章

JAVA继承时this和super关键字 本文主要讨论在方法前使用this或super关键字时,编译器在什么地方查找对应的函数. 在子类中指定this关键字.首先在本类中查找,如果本类中找不到,再在父类中查找. class A { public void fun() { System.out.println("父类的fun()"); } } class B extends A { public void test() { this.fun(); } public void fun()…
原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/5454849.html. this关键字: this代表当前对象,它有以下几种用途: 1.本类中在非静态方法中条用非静态变量和方法,就可以使用[this.变量名]和[this.方法名(参数列表)]的方式调用,实际情况是,this关键字通常会被省略. 2.就在上面这种情况下,有一个特殊情况,那就是在方法中定义了一个与类成员变量同名的局部变量,这是在方法内部调用类的成员变量就必须使用this关键…
大家好,乐字节的小乐又来了,上一篇是:乐字节Java|JavaBean.继承与权限修饰,也是属于Java继承的,今天继续Java继承. 一. 方法的重写 父类不满足子类的要求,按需改写.注意 方法签名必须相同 在子类中可以根据需要对从基类中继承来的方法进行重写. 重写方法必须和被重写方法具有相同的方法名称.参数列表和返回类型. 重写方法不能使用比被重写方法更严格的访问权限 Override.java Overload.java “==”:方法名.形参列表相同. “≤”:返回值类型(基本类型必须相…
Java中的内部类:成员内部类静态内部类方法内部类匿名内部类 内部类的主要作用如下: 1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类 2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据 3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便 -----------------------------Jav中的继承是单继承子类拥有父类的所有属性和方法(private修饰的无效)实现代码复用 语法规则:class 子类 ex…
继承 概念: ①   继承背后的思想就是基于已存在的类来构建新类; ②   当从已存在类继承时,就重用了它的方法和属性,还可以添加新的方法和属性来定制新类以应对需求; ③   当从其它类导出的类叫作子类,被导出的类叫作父类; ④   在Java中,除了Object类外,所有类都是子类,都有唯一父类; ⑤   继承在OO中不可或缺; ⑥   创建一个类时,总是在继承; 类之间关系:Is-a继承体现,Has-a组合体现,Like-a实现接口体现; 继承的意义:代码重用,体现不同抽象层次; 父子类关系…
Java程序在启动和运行时,需要首先完成初始化的工作.在涉及到继承.static成员变量等因素时,初始化的顺序就复杂起来.下面以一个例子说明继承时的Java初始化顺序. 例子: class Insect{ private int i = 9; protected int j; Insect(){ System.out.println("i = " + i + ", j = " + j); j = 39; } private static int x1 = print…
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/8483623.html 一.概述 Java中this有两种用途,一种是用于指代当前对象,一种适用于指代构造器,当前类的构造器. super就专用于指代构造器,而且是超类的构造器. this关键字和super关键字关联之处来与二者皆可用于构造器中来调用其他构造器. 二.this作用 2.1 指代当前对象 this指代当前对象时,是属于对象级别的存在,不可用于类级别的内容(静态内容)中. th…
this 在java中,this是一个引用当前类对象的引用变量,主要有以下几种用法: 引用当前类的实例变量· this关键字可以用来引用当前类的实例变量.如果实例变量和某个方法的参数之间存在歧义(实例变量和参数命名相同),则通过this.变量名 可用于明确地指定实例变量以解决歧义问题. 调用当前类方法 可以使用this关键字调用当前类的方法,格式:this.方法名.如果不使用this关键字,编译器会在调用方法时自动添加此 this 关键字. 调用当前类的构造函数 this()构造函数调用可以用来…
今天看到java继承部分时,关于构造函数是否继承以及如何使用时遇到了点问题,后来查找相关资料解决了. 下面是我个人的总结: 先创建一个父类,里面有两个构造函数: public class Jisuan { protected int a=4; //构造函数1 Jisuan() { System.out.println("父类的无参数构造函数"); } //构造函数2 Jisuan(int a) { System.out.println("父类的有参数构造函数");…
接上篇博文--<详解 继承(上)-- 工具的抽象与分层> 废话不多说,进入正题: 本人在上篇"故弄玄虚",用super();解决了问题,这是为什么呢? 答曰:子类中所有的构造方法默认都会访问父类中空参数的构造方法 (拓展:由于这个原理,我们今后所做的"工具类"都必须要带上无参构造) 那么,父类没有无参构造方法,子类怎么办? 解决父类没有无参构造的手段: 在父类中添加一个无参的构造方法 子类通过super去调用父类其他的带参的构造方法 子类通过this去调…