黑马程序员_04 super,this,static关键字

---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! -----------------

                       super,this,static关键字

super :super主要的功能是完成子类调用父类的内容,也就是调用父类中的属性和方法。

super出现在继承了父类的子类中。有三种存在方式:
第一种:super.xxx;(xxx为变量名或对象名)
这种方法意义为,获取父类中的名字为xxx的变量或方法引用。
使用这种方法可以直接访问父类中的变量或对象,进行修改赋值等操作
第二种:super.xxx();(xxx为方法名)
这种方法意义为,直接访问并调用父类中的方法。
第三种:super();
这种方法意义为,调用父类的初始化方法,其实就是调用父类中的public xxx()方法。
注意: 子类的构造函数默认第一行都有一条一时的语句super();
super()会访问父类中空参数的构造函数。
super()语句一定要定义在子类构造函数的第一行。
this: this表示当前对象,而所谓的当前对象就是指调用类中方法或属性的那个对象。
this
关键字的使用范例1:
public class people
{
private String name;
private int age;
people(String name,int age)
{
           this.name=name;
this.age=age;
}

范例二:判断两个对象是否相等。
public boolean equals(Object obj)
{
if(!(obj instanceof people))
throw new RuntimeException();
people p=(people)obj;
return this.name.equals(p.name)&&this.age==p.age;
}
static:在java中使用static关键字声明静态变量和方法。

  被静态修饰后就多了一种调用方式:类名·静态成员;
static特点
1:随着类的加载而加载,随着类的消失而消失。生命周期长。
2:优先于对象存在;
3:被所有对象所共享;
4:可以直接被类名所调用。
实例变量 和类变量的区别:
1:存放位置:类变量随着类的加载存在于方法区,
实例变量随着对象的加载存放于堆内存中。
2:生命周期:类变量生命周期最长,随着类的消失而消失,
实例变量随着对象的消失而消失。
静态使用注意事项:
1:静态方法只能访问静态成员,非静态方法既可以访问静态又可以访问非静态。
2:静态不可以使用this和super;

静态有利有弊:
利:
对对象的共享数据进行单独空间的存储节省空间。
可以直接被类名调用;
弊: 生命周期过长,访问出现局限性。
什么时候使用静态: 静态变量:当对象中出现共享数据时该数据被静态修饰;
静态函数:当功能内部没有访问到非静态数据(对象特有数据)时;
静态代码块
static
  {
//静态代码块中执行语句;
}
随着类的加载而执行,只执行一次,用于给类初始化,


--------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ------------------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值