一:可见性修饰关键字
1.public
public+类 public:公开 。public修饰的类表示 这个类是可以被同一个工程内的其他类访问。只要是在同一project内即可。
public 的可见性是最高的。
public+方法 public修饰的方法可以在同一工程中其他的类调用。
public+属性 可以直接用 类名.属性 调用
注意:在一个文件中,只能有一个Public 类
2.protected
protected :受保护的。 protected 的可见性 小于 public,范围是:同一包内,和 不同包内的子类。 protected修饰的方法,同包内可以访问,不同包内的子类可以继承。
3.默认的,即class前不加任何修饰符
默认的可见性范围 是在同一包内。不同包内不可以被访问。
4.private
private 的可见性范围是最小的,只能在统一个类内。
private修饰的方法,只能在同一个类内被调用。一般,类内的属性都定义为private,因为我们不希望别人任意修改。如果,private修饰的方法不可以被子类继承。
二: this
this是很常见的一个关键字
this 1.表示引用当前的对象
2.在构造方法中引用满足指定参数类型构造方法,此时,必须位于代码行的第一行。
三:final
final 修饰 时,就表示 "最后的",不可以再被修改了。final 修饰的方法,子类继承时,不可以重写此方法。 final 修饰的属性,一旦被赋值,就不可再被修改。如果,一个类里有final属性,则,创建类对象时,此时的final属性必须已经初始化。
四:super
总的来说,super代指父类。super(),调用父类的构造方法。
五:static
1.static+属性
static修饰的属性,是类属性,可以不创建对象,直接调用。当,类里创建的某个对象修改了static属性的值之后,则,类里创建的所有对象的static属性值都会改变。
2.static +方法
static修饰的方法,不用创建对象,直接调用。static方法里不能调用非静态的属性和方法。子类继承父类中的static方法时,也必须是static的。
例:
public class A {
public A(){
System.out.println("A");
}
}
public class B extends A{
public B(){
System.out.println("B");
}
}
public class C {
static A a=new A();
B b=new B();
public static void main(String [] args){
A a=new A();
C.change();
}
private static void change(){
B b1=new B();
}
}
求C 输出?