JS Bin

抽象类使用的原因小记,接口中的静态方法

  ①让接口和实现类分离,更加具有规范性

  ②具有一种提示作用,抽象类中定义的抽象方法都是需要子类实现的,接口定义了很多的规范,但是没有具体的实现,如果不考虑默认方法的话,但是在这种情况下,如果大多数类都有某个指定性的方法的话,可以让抽象类去实现接口并且实现这个方法,(当然抽象类可以实现这个接口但是不实现接口的方法),所以可以指定其中的通用性的行为去实现,并将更具有不同性的方法包装成抽象方法让子类去多态性的实现,这也是一种层次性的抽象设计实现。这样子实现类就可以获取这种常态性的行为,并且可以多态地实现自定义的方法。

 

  接口中的静态方法不允许被实现类继承,只能供接口自己调用,并且接口中的静态属性是可以被实现类继承的,但是不可被修改,因为接口既然是规范,里面的属性都是默认被static final修饰的:

public interface interface1 {
	String str = "你好";

	static void interfaceFunction() {
		System.out.println("hello");
	}
}

  

public class InterfaceStaticFieldTest implements interface1 {
	public static void main(String[] args) {
		InterfaceStaticFieldTest cc = new InterfaceStaticFieldTest();
		// 接口中的静态方法并不会被实现类继承,只供接口自己调用实现
		interface1.interfaceFunction();
		// 接口中的静态属性是可以被实现类继承的,不可被修改
		System.out.println(cc.str);
	}
}

  

 

posted @ 2020-04-17 16:00  左五六  阅读(495)  评论(0编辑  收藏  举报