,this必须为第一条语句,然后才是其他语句。This表示当前对象。Publicvoidpri
tNumI
t
umber40;Systemoutpri
tl
this
umber此时打印的是实例变量,而非局部变量,即定义在类中而非方法中的变量。This
umber表示实例变量。谁调用this
umber那么谁即为当前this对象的
umber方法。封装:使对象的属性尽可能私有,对象的方法尽可能的公开。用private表示此成员属性为该类的私有属性。Public表示该属性(方法)公开;Private表示该属性(方法)为只有本类内部可以访问(类内部可见)。(想用private还要用set和get方法供其他方法调用,这样可以保证对属性的访问方式统一,并且便于维护访问权限以及属性数据合法性)如果没有特殊情况,属性一定私有,方法该公开的公开。如果不指明谁调用方法,则默认为this。区分实例变量和局部变量时一定要写this。
1129
继承:
达内java学习笔记3
f父类(SuperClass)和子类(So
Class)。父类的非私有化属性和方法可以默认继承到子类。ClassSo
exte
dsFather而如果父类中的私有方法被子类调用的话,则编译报错。父类的构造方法子类不可以继承,更不存在覆盖的问题。(非构造方法可以)如果子类访问父类的构造方法,则在编译的时候提示访问不到该方法。JAVA中不允许多继承,一个类有且只有一个父类(单继承)。JAVA的数据结构为树型结构,而非网状。(JAVA通过接口和内部类实现多继承)方法的覆盖(overridi
g)方法的重载并不一定是在一个类中:子类可以从父类继承一个方法,也可以定义一个同名异参的方法,也称为overloadi
g。当子类从父类继承一个无参方法,而又定义了一个同样的无参方法,则子类新写的方法覆盖父类的方法,称为覆盖。(注意返回值类型也必须相同,否则编译出错。)如果方法不同,则成重载。对于方法的修饰词,子类方法要比父类的方法范围更加的宽泛。父类为public,那么子类为private则出现错误。之所以构造方法先运行父类再运行子类是因为构造方法是无法覆盖的。以下范围依次由严到宽:private:本类访问;default:表示默认,不仅本类访问,而且是同包可见。Protected:同包可见不同包的子类可见Public:表示所有的地方均可见。当构造一个对象的时候,系统先构造父类对象,再构造子类对象。构造一个对象的顺序:(注意:构造父类对象的时候也是这几步)①递归地构造父类对象;②顺序地调用本类成员属性赋初值语句;③本类的构造方法。Super表示调用父类的构造方法。Super也和this一样必须放在第一行。Thisr