java的构造方法中如果自己显性的调用super()的时候一定要放在第一行,如不是的话就会报错. 为什么一定要在第一行? super()在第一行的原因就是: 子类有可能访问了父类对象, 比如在构造函数中使用父类对象的成员函数和变量, 在成员初始化使用了父类, 在代码块中使用了父类等, 所以为保证在子类可以访问父类对象之前要完成对父类对象的初始化 this()在第一行的原因就是: 为保证父类对象初始化的唯一性. 我们假设一种情况, 类B是类A的子类, 如果this()可以在构造函数的任意行使用,…
有关构造方法的理解: 需要对对象的数据进行初始化,则创建一个构造方法,此方法名字和类名一样,但是没有返回值(类型和具体的值都没,但是可以写return;).构造方法是用来创建对象的,所以是不能被对象调用的,当创建(new)对象的时候,就被调用了一次.若我们没写构造方法(不管是无参的还是有参的)时,系统会默认的自动给添加个无参数的构造方法.多个构造方法是可以重载共存的,若构造方法私有(private)了的话,其他程序是无法创建该类的对象. 当在一个类中既存在构造方法,又存在普通方法时,需要调用构造…
若有不正之处,请多多谅解并欢迎批评指正,不甚感激.请尊重作者劳动成果: 本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing/ 本文版权归作者和博客园共有,未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接 ,否则保留追究法律责任的权利. Java中this与super的区别  this&super 什么是this,this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针. Java关键字th…
this this 表示当前对象 使用上细分的话,this有 this. 和this()的使用情况 ,下面我们开始细撸 this . 使用场景一: 在成员方法中,this.变量名 指带当前对象的变量,此时this.是可以省略的 输出 结果为 “3” ;在method()方法中,this.i=3 和i=3意思相同但注意, 如果在method()方法中,输入的是 int i=3.结果可以完全不同. 为什么呢?~~很显然.这样做的意思是说在方法中,重新定义一个局部变量i.并非指代当前对象啊. 使用场景…
前言 这次我们来回顾一下this和super这两个关键字的用法,作为一名Java程序员,我觉得基础是最重要的,因为它决定了我们的上限,所以我的文章大部分还是以分享Java基础知识为主,学好基础,后面的知识我想学起来就变得简单.废话不多说,进入正文. this this 关键字只能在方法内部使用,表示对调用方法的那个对象的引用. 其实简单来说 this 关键字就是表示当前对象,下面我们来具体介绍 this 关键字在Java中的用法. 1.调用成员变量 在一个类的方法内部,如果我们想调用其成员变量,…
一.this关键字 1.this概念 (参考:http://www.cnblogs.com/xdp-gacl/p/3636071.html)   this是一个引用,它指向自身的这个对象,它的内存分析如下图.假设我们在堆内存new了一个对象,在这个对象里假设有一个引用this,this指向这个对象自己,所以这就是this,这个new出来的对象名字是什么,我们不知道,不知道也没关系,因为这并不影响这个对象在内存里面的存在,这个对象只要在内存中存在,他就一定有一个引用this. 2.this在方法中…
一.final关键字 final可以修饰变量.方法及类: 1.当定义一个final变量时,jvm会将其分配到常量池中,其所修饰的对象只能赋值一次,对基本类型来说是其值不可变,引用类型(包括作为函数形参或类变量):引用不可以被修改该.当作为类变量时, 其初始化可以在两个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造函数中,这两个地方只能选其一.  2.当修饰一个方法时,该方法在子类中将不能被重写.    通常,如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为f…
原文地址:http://www.cnblogs.com/hasse/p/5023392.html 一.This Java关键字this只能用于方法体中.this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this. 1.this三大作用: this调用属性.调用方法.利用this表示当前对象. 2.this的用法: (1).普通的直接引用 这种就不用讲了,this相当于是指向当前对象本身. (…
许多同学在学习Java时分不清楚this和super的用法和区别,今天偶然发现一片加精的博文,看完内容准备自己也写下来积累一下 1.如果想在子类的构造方法中调用父类的构造方法,必须在子类的构造方法中使用super();且必须将其放在首句 public class L1106Demo06 { public static void main(String[] args) { lake M=new lake(); } } /*super方法的用法1. * 在子类的构造方法中若果要想要调用父类的构造方法…
面向对象 今日内容介绍 u 构造方法 u this u super 第1章 构造方法 我们对封装已经有了基本的了解,接下来我们来看一个新的问题,依然以Person为例,由于Person中的属性都被private了,外界无法直接访问属性,必须对外提供相应的set和get方法.当创建人对象的时候,人对象一创建就要明确其姓名和年龄,那该怎么做呢? 1.1 构造方法介绍 在开发中经常需要在创建对象的同时明确对象的属性值,比如员工入职公司就要明确他的姓名.年龄等属性信息. 那么,创建对象就要明确属性值,那…