public class Super {
public static void test(){
System.out.println("super");
}
public static void main(String[] args) {
Super s = new Sub();
s.test(); //发生多态是调用重写前的,得super,相当于Super.test();
}
}
class Sub extends Super{
public static void test(){ //只能被子类静态方法重写
System.out.println("sub");
}
}
public class Test {
public static void main(String[] args) {
Singleton s1 = Singleton.getInstance();
Singleton s3 = Singleton.getInstance();
System.out.println(s1==s3);
}
}
运行的结果:true
2.final的用法:
final用于修饰:类,方法,变量(包括成员变量和局部变量)
final的类无法继承,例:String/System类不可继承
final的方法无法重写/覆盖,final类中所有方法都无法重写,因为final类无法继承
final的变量必须显示赋值一次(only one)
父类中非final的方法可以在子类中重写为final的方法
final的属性没有set方法,可以有get方法,赋值可以直接赋,也可以在构造中赋
只用final修饰的不是常量,因为final只管一层
常量: 用static+final修饰的属性变量必须声明的同时赋初值,而且访问权限为public
public static final int LIMIT = 9999; 常量名所有字母都大写,不同单词之间用下划线隔开
例子1:
public /*final*/ class Super {
public /*final*/ void test(){}
}
class Sub extends Super{
public final void test(){}
}作者: 郭绍强 时间: 2013-4-18 10:57
首先。 静态 就是说 谁都可以去用,包括(静态属性 静态方法)
举个例子吧:
比方说 以下代码
public class dept
{
public static int sum(int a,int b)
{
int res=0;
res=a+b;
return res;
}
public static void main(String[] args)
{
int a=1;
int b=5;
int res=sum(a, b);
System.out.println(res);
}
}