1、构造方法-----constructor
2、static 测试------------以类的名称来调用静态方法
public class OODemo {
public static void main(String args[]){
PrivateTest.Do();
}
}
class PrivateTest{
private PrivateTest(){}
public static void Do(){
System.out.print("Static test");
}
}
结果
3、对构造函数加private来限制非抽象类被初始化
public class OODemo {
public static void main(String args[]){
PrivateTest.Do();
PrivateTest lala=new PrivateTest();
}
}
class PrivateTest{
private PrivateTest(){}
public static void Do(){
System.out.print("Static test");
}
}
结果
4、静态变量----所有实例一样
public class Cat{
private static int CatCount=0;----------CatCount这个静态变量只会在类第一次载入时被初始化
public Cat(){Catcount++;}
}
5、private对构造函数,在类内部声明类-----------虽然构造函数前加private无法生成类,但在类内部还是可以生成的
public class OODemo {
public static void main(String args[]){
PrivateTest.WhatIsName();
}
}
class PrivateTest{
private String Name="MiaoMiao";
private PrivateTest(){}
public static void Do(){
System.out.print("Static test");
}
public static void WhatIsName(){
PrivateTest Cat1=new PrivateTest();
System.out.print(Cat1.Name);
}
}
结果
6、静态初始化程序--------6.1静态的final变量所在的类不见的时候是否还会存在?2、静态初始化程序3、静态的final变量是常数,常数变量的名称应该全部是大写的!!
代码1 //final常数变量无法找到-----------------解决用Foo.FORTYTWO见代码2
package finalTest;
public class OODemo {
public static void main(String args[]){
System.out.println(""+FORTYTWO); }
}
class Foo{
final static int FORTYTWO;
static{//静态初始化程序
FORTYTWO=42; }
}
代码2 //证明final static int FORTYTWO编译完就产生了不用生成对象也可以!
package finalTest;
public class OODemo {
public static void main(String args[]){
// Foo Foo1=new Foo();
System.out.println(""+Foo.FORTYTWO);
}
}
class Foo{
final static int FORTYTWO;
static{//静态初始化程序
FORTYTWO=42;
}
}
结果: