黑马程序员-Java关键字

------------------- android开发java培训、期待与您交流! ----------------------

黑马程序员-Java关键字
super(父类,超类)
super关键字用于引用使用该关键字的类的超类。
作为独立语句出现的 super 表示调用超类的构造方法。
super.<methodName>() 表示调用超类的方法。
只有在如下情况中才需要采用这种用法:要调用在该类中被重写的方法,以便指定应当调用在超类中的该方法。
 
this
当引用可能不明确时,可以使用 this 关键字来引用当前的实例。
this的用法只表示当前类的属性方法,只能在自己的类使用.
this关键字是一个对象的默认引用,this关键字总是指向调用该方法的对象。 根据this出现的位置不同,this作为对象的默认引用有两种情形:
1.构造器中引用该构造器执行初始化的对象。
2.在方法中引用调用该方法的对象。
this可以代表任何对象,当this出现在某个方法中,它所代表的对象时不确信的,但它的类型是确定的,它所代表的对象只能是当前的类,只有当这个方法被调用的时候,它所代表的对象才被确定下来:谁在调用这个方法,this就代表谁。
大部分时候,一个方法访问相同实例的其他方法,属性时加不加this前缀的效果是完全一样。
对于static修饰的方法而言,则可以使用类来直接调用此方法,如果在static修饰的方法中使用this关键字,则这个关键字就无法指向合适的对象,所以,static修饰方法中不能使用this引用。由于static修饰的方法不能使用this引用,所以static修饰的方法不能访问不使用的static修饰的普通成员。
大部分时候,普通方法访问其他方法,属性时无须使用this前缀,但如果方法里有个变量和属性同名时,但程序又需要在该方法里访问这个被覆盖的属性,则必须使用this前缀。除此之外,this引用也可以用于构造器中作为默认引用,由于构造器是直接使用new关键字来调用,而不是使用对象来调用,所以this在构造器中引用的时该构造器进行初始化的对象
例1:
public class ThisInConstructor
{
 int foo; 
public ThisInConstructor()
 { 
 int foo=0; 
 this.foo=1; 
}
 public static void main(String[] args)
 {  
System.out.println(new ThisInConstructor().foo);
 }
 }
例2:
 public class ThisInConstructor
 {
 int foo;
 public ThisInConstructor()
 { 
 this.foo=1; 
 int foo=0;
 } 
public static void main(String[] args)
{
System.out.println(new ThisInConstructor().foo);
   }
 }
两个程序运行后都得到foo的值为1。 这意味着该构造器返回的所有对象的foo属性都是1。  当this作为的默认引用使用时,程序可以像访问普通引用变量一样来访问这个this的引用,甚至可以把this当成普通方法的返回值


static特点:
1,修饰属性、方法及代码块;
2,修饰的属性和方法称为类属性和类方法;
3,static修饰的属性和方法可通过类名和对象名访问,若不用static修饰,只能通过对
   象名访问;
4,静态随着类的加载而加载。而且优先于对象存在。


final特点:
1,这个关键字是一个修饰符,可以修饰类,方法,变量。
2,被final修饰的类是一个最终类,不可以被继承。
3,被final修饰的方法是一个最终方法,不可以被覆盖。
4,被final修饰的变量是一个常量,只能赋值一次。


抽象类的特点:
1,抽象方法只能定义在抽象类中,抽象类和抽象方法必须由abstract关键字修饰(可以描述类和方法,不可以描述变量)。
2,抽象方法只定义方法声明,并不定义方法实现。
3,抽象类不可以被创建对象(实例化)。
4,只有通过子类继承抽象类并覆盖了抽象类中的所有抽象方法后,该子类才可以实例化。否则,该子类还是一个抽象类。



方法重载:同一类中的多个方法,类名相同,但是他们的参数列表不同。
重载的定义是:在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者参数的类型不同,即可称之为该函数重载了。
如何区分重载:当函数同名时,只看参数列表。和返回值类型没关系。


封装:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
封装的好处1.方便加入控制语句;2.方便修改实现;3.隐藏类的实现细节;4.只能通过规定方法访问数据。

------------------- android开发java培训、期待与您交流! ----------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值