关键字总结

[align=center][b]关键字总结[/b][/align]1.这组关键字:public ,protected,默认的,private之间的用法。首先它们的访问权限从高到低,这些关键字既可以修饰属性,方法还有类,
当属性,方法以及类是用public修饰时,这些方法和属性是可以被任何的类和方法调用的,还有在一个java文件中,只能有一个public类,
而且这个用Public修饰的类也一定是包含主函数的。而protected和private都不能修饰类。protected修饰的方法和属性,只能被同一个
包中的对象调用和继承,若写成如下程序:package cn.gyl4.net
public class A{
........
protected void study(){
System.out.println(.....);}}
package cn.gyl5.net
public class B{
..........
A a=new A()
a.study()}
那么改程序肯定会报错,因为A和B类没在同一个包里,所以不能调用Protected方法,protected和默认的修饰符的区别是,protected修饰的
属性和方法能被同一个包中的类继承,而默认的不可以,其余跟protected类似。private修饰的方法和属性只能被当前类调用和使用,就是只能被private
所在的类使用。
2.另一组关键字:this和super.我们在程序中总是看到这样一行代码,this.name=name.这里的this是表示一个对象,就是调用这个方法的当前对象,有时也可把
this省去,但当类中定义的属性与方法中的属性相同时,this一定不能省去,this还有一个用法,是用在构造器中。比如:
public class A{
private String name;
public A(){
this("小心");}//这行代码是表示调用下面的构造器public A(String name){....}
public void setName(String name){
this.name=name;}
public A(String name){
this.name=name;}
}
而且在this("小心")前面不能有语句,它必须是属于无参构造器的第1行,而且无参构造器中只能有一个this("...")语句,若写成
public A(){
this("小心");
this("AGB",10);}
那肯定是错的。因为你在创建对象时是一个对象,而这里却有两个对象值的传递,那肯定是不对的。
super是表示当前对象的父类,如我们在画板重绘以及五子棋开发时,经常用到这条语句,
public void paint(Graphics g){
super.paint(g);}
这个super就表示当前类的父类,也就是调用当前类的父类的paint方法,super也有和this相同的用法,也可用在构造器中,用法跟this一样,只是表达的意思不
同 ,super是表示当前类的父类。
3. final和static得用法:final既可以修饰类也可修饰方法还可修饰属性和变量.当一个类有final修饰时,就不能被继承。当方法是被final修饰时,当方法所在类被继承时,
子类不能重写父类中的final方法。当final修饰属性和变量时,当修饰属性时,该属性只能被赋一次值,也就是说当你一旦给这个属性赋了值以后,这个值就不能改变
当 修饰变量时,表名不能再修改该变量的值.
static关键字只能修饰方法和属性和程序块,当用static修饰的方法和属性时,不需要创建对象,直接可以用类名去调用。主函数就是用static修饰的。我们经常在主函数
写System.out.println(....);它就可以直接输出答案,那是因为它不需要创建对象,直接调用就可以的。当用static修饰属性时,那这个属性就是公有的,也就是说:当
这个属性被多次使用或赋值时,在对象调用时一定是输出它最后的值,跟它前面的值毫无关系,这根它在内存里的存取有关。static修饰程序块时:看我下面的程序输出的结果:
public class computer{ public class co{
pubic static void main(String args[]){ public static void main(String args[]){
{ {System.out.println("LAA");}
System.out.println("LAA");} static {System.out.println("A");}
{ }
System.out.println("A");} }
}
}
左边的这个程序输出的答案是LAA换行再是A,而右边输出的答案为A换行再是LAA.
当用static修饰的方法或程序块时,程序首先的入口点是static修饰的方法。而且当static修饰属性时,一般都是public static 属性的类型 属性名字。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值