public interface IService { String NAME="default"; }
与上面等价表示是哪一项()?
为什么是public:因为接口必然是要被实现的,如果不是public,这个属性就没有意义了;为什么是static:因为如果不是static,那么由于每个类可以继承多个接口,那就会出现重名的情况;为什么是final:这是为了体现java的开闭原则,因为接口是一种模板,既然是模板,那就对修改关闭,对扩展开放。
package com.demo; public interface MakeTool { public static final String name = "MakeTool"; }
package com.demo; public interface Think { public static final String name = "Think"; }
package com.demo; public class Human implements Think,MakeTool{ public static void main(String args[]){ System.out.println("继承接口同名了..."); } }这道题,感觉考的还是java接口,默认的变量修饰符是什么。
package cn.edu.jxnu.others; public interface Code { // 124是等价的,即使你不写,public static final 这几个写与不写是没有任何我区别 public String NAME1 = "default"; // 1 public static String NAME2 = "default";// 2 private String NAME3 = "default";// 3 public static final String NAME4 = "default";// 4 }所以单从那个选项可以替代题目中的语句,是有多个可能,题目不严谨,没有说明等价是在接口外比较