static修饰符可以修饰变量、方法或代码块
static修饰的方法为静态方法,目的是使该方法独立于类的示例,使用类去访问,也叫类方法。
特征:
static int a;
static {
a = (int)(100.0 * Math.random());
}
设计模式:在大量实践中总结和理论化之后优选的代码结构、代码风格、UI及解决问题的思考方式
单态设计模式:采取一定的方法保证在整个软件系统中,某个类只能存在一个对象实例,并且该类只提供一个取得其对象示例的方法。
public class TestSingle {//形式一
private static final TestSingle onlyone = new TestSingle();
// private static final 修饰后只能产生一个对象
private TestSingle() {
//不能在类的外部使用new但是在类的内部可以
}
public static TestSingle getTestSingle() {
return onlyone;//外面只能通过方法调用活的一个对象
}
}
public class Singleton {//形式二
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
final 修饰符可以修饰类、方法、变量。在修饰不同的对象时是不同的,但是代表不可改变
class TestFinal {
final void f() {}
}
class Further extends TestFinal {
final void f(){}//错误 final方法不能被覆盖
}
规则:
一个类中有抽象方法则这个类也应该是抽象类
接口即规范。
java中interface关键字来定义接口。接口中的方法都只有声明,没有方法主体。
public interface PCI { // 定义了一个PCI接口
public void start(); //定义了一个开始的方法
public void stop(); //定义了一个结束的方法
}
接口中只能有抽象方法。接口就是永来被子类实现的,这样可以让不同的子类遵守相同的规范,但却又有自己的实现。
class SoundCard implements PCI {
public void start(){
System.out.println("DUDU");
}
public void stop(){
System.out.println("send...");
}
}
当一个类实现一个接口时,必须实现这个接口中定义的所有方法。否则这个类必须定义成抽象的。
在接口定义的变量默认是public static final修饰的,变量值不能改变,这种变量也可以叫做常量。
public interface Runner {
public void run();
}
public interface Constants {
public static final int COLOR_RED = 1;
public static final int COLOR_GREEN = 1;
public static final int COLOR_BLUE = 1;
}
class Car implements Runner, Constants { // 实现两个接口,用","分隔多个接口
public void run() {
System.out.println("车颜色是:" + COLOR_GREEN);
System.out.println("用四个轮子跑")l
}
}
原文:https://www.cnblogs.com/DengSchoo/p/12727612.html