在这些天的学习与练习当中,有不小的收获和认识,也有不少的麻烦及困难,
关键字是其中难点,我认为,在于如何区分、使用:
一些关键字代表这访问权限,如public, private ,protcted, 缺省,
public在我的眼里算是万能的,几乎能在各个包、类里使用,也没什么限制(跳过),
private,它意思就很明白了,私人用品,只能在它所在的类里用;
缺省,系统默认,和protcted区别:前者同包里的所有类可以访问到,后者则在前者基础
再加不同包的子类可以访问。
类内部 package内 子类 其他
public 允许 允许 允许 允许
protected 允许 允许 允许 不允许
default 允许 允许 不允许 不允许
private 允许 不允许 不允许 不允许
public 允许 允许 允许 允许
protected 允许 允许 允许 不允许
default 允许 允许 不允许 不允许
private 允许 不允许 不允许 不允许
有final修饰的类、方法、,代表着无法被继承,重写,如果是属性,就一次被赋值的机会,
在有final局部变量当中的,不可能被改变。
这两点经常遇到,所以佷熟悉。
如:
final int Y=2;
Y=3;// 出错
final int Y=2;
Y=3;// 出错
this,通常代表着其所在类的对象,
public class persion{ private String name=null; private int age; public void setName(String name){ this.name=name; } public String getName(){ return name; } }
super,感觉是父类的方法。
static,静态修饰方法,只加载一次,根据最后结果赋值给所有对象。
public class Test5 { private static int a; private int b; static{ Test5.a=3; System.out.println(a); Test5 t=new Test5(); t.f(); t.b=1000; System.out.println(t.b); } static{ Test5.a=4; System.out.println(a); } public static void main(String[] args) { // TODO 自动生成方法存根 } static{ Test5.a=5; System.out.println(a); } public void f(){ System.out.println("hhahhahah"); } } 运行结果: 3 hhahhahah 1000 4 5
循环,接触到的有whlie,for,do whlie三种;
for:for(int i=0;i<length ;i++){}
不解释
while: while(boolean值){}
do while do{}while();
do while do{}while();
不常用,依据:条件与执行的先后顺序。
{}里是条件;
以上是我的个人理解。。。