本篇主要总结JAVA中的super、this、final、static、break、continue
super主要用在继承当中,表示调用父类的构造函数。
class B {
public B() {
}
public void C() {
System.out.println("B中的C");
}
}
public class A extends B {
public void C() {
System.out.println("A中的C");
}
public void D() {
super.C();
}
public static void main(String[] args) {
A a = new A();
a.D();
}
}
输出结果是:B中的C
class B {
public B() {
System.out.println("父类的构造方法");
}
}
public class A extends B {
public A() {
//super(); 这里隐式添加了一个super()
System.out.println("子类的构造方法");
}
public static void main(String[] args) {
A a = new A();
}
}
输出结果为:父类的构造方法
子类的构造方法
如果父类没有定义无参构造方法,那么子类只可以定义和父类构造方法的参数列表相同个数的子类构造方法,然后在构造方法中显式调用父类的super(参数...)
如果父类同时定义了有参的和无参的构造方法,那么子类可以随便定义构造方法,并且子类构造方法的第一行可以随便使用加或者不加参数的super()来调用父类的构造方法
在JAVA中,this关键字指向调用该方法的对象。有以下作用
public class People {
private String name;
private int age;
public People(String name, int age) {
this();
this.name = name;
this.age = age;
}
public People() {
System.out.println("无参构造方法");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void say() {
System.out.println(getName() + "-----" + getAge());
}
public static void main(String[] args) {
People p = new People("王菲", 50);
p.say();
}
}
static在JAVA中表示静态的,用来修饰方法、成员变量、代码块、内部类等(外部类不能使用static)
于是我们可以将类级别的变量声明为static。静态变量是属于类的,而不是属于类创建的对象或实例。static经常与final一起使用来修饰一个可供所有对象共同使用的常量资源。
break经常被用在循环中,用来结束循环,当触发某个条件后,执行break,程序不再管循环是否执行完毕,直接跳出循环,执行循环下面的代码
break完全终止循环
continue被用于跳出循环,当满足某个条件后,跳出当前循环,执行下一个循环。
continue只是跳出本次循环,不会终止