一.static
static关键字
static可以用来修饰方法、常量,但static也可以用于修饰内部类,普通类是不允许声明为静态的,只有内部类才可以。被static修饰的内部类可以直接作为一个普通类来使用,而不需实例一个外部类。
(1)被static修饰的内部类
public class option { public static class add{ add(){ System.out.println("我是内部类"); } } public static void main(String[] args) { new option.add(); } } 结果: 我是内部类
没有被static修饰的类智只能使用如下的方式调用:
public class option { public class add{ add(){ System.out.println("我是内部类"); } } public static void main(String[] args) { option op=new option(); op.new add(); } 结果: 我是内部类
(2)被static修饰的方法和属性:
被static修饰的方法存放到公共数据区,在整个生命周期只执行一次;
被static修饰的方法不属于某个具体的对象,因此不需要创建对象来调用属性和方法;不需要创建相应的对象但可以使用对象来操作;
二、this与super
2.this关键字
this在java中表示类名和当前类对象
(1)this(值);
this(值)表示当前类名,类名(值)==this(值)==构造方法;
this(值)只能编写在构造方法体中,且必须为第一行有效代码;
java中不允许直接或间接的进行构造方法之间的相互调用,因此使用关键字this表示当前构造方法;
(2)this.属性或this.方法
this.属性或this.方法中的this表示当前类对象;
this.属性或this.方法只能写在非静态方法体中;
this.属性或this.方法用于解决全局变量与局部变量参数重名时的就近问题;
3.super关键字
super在java中可以表示父类名称以及引用父类对象
(1)super(值)
super(值)中的super表示父类类名;父类类名(值)==super(值)==父类构造方法;
super(值)只能编写在子类的构造方法体中,且必须为第一行有效代码
(2)super.属性或super.方法
super.属性或super.方法中,super表示父类对象的引用;
super只能用在非静态方法体中,防止没有创建对象而引用该对象;
三、final、finally、finallize
1.final可以用来修饰类、变量、方法;被final修饰的类不可被继承;被final修饰的变量是常量;被final修饰的方法是常量
2.finally 被用在try-catch块中;不管try块还是catch块执行finally中的代码都会执行;
3.finalize垃圾护回收制,垃圾回收器会特别对待覆盖了finalize()方法的对象。一般情况下,在垃圾回收期间,一个无法触及的对象会立即被销毁。不过,覆盖了finalize()方法的对象会被移动到一个队列里,一个独立的线程遍历这个队列,调用每一个对象的finalize()方法。在finalize()方法调用结束之后,这些对象才成为真正的垃圾,等待下一轮垃圾回收。
四、break、continue、return
1.break被用在switch代码块或循环体中,用于结束switch代码或循环体;
2.contiune:可以用于java的循环体中结束本次循环的执行;
3.return:用于循环体或方法体中;直接结束当前的循环体或整个方法体;