在 Java SE 8 中,允许在接口中增加静态方法。只是这有违于将接口作为抽象规范的初衷
枚举是一个特殊的类,其中包含了一组特殊的对象,这些对象不会发生改变,一般都使用大写的标识符
枚举使用enum关键字使用
枚举会将对象放置在最前面,那么和后面的语法需要使用分号隔开
package object;
public class Enum {
public static void main(String[] args) {
System.out.println(City.BEIJING);
System.out.println(City.SHANGHAI);
}
}
enum City {
BEIJING("北京",1001),SHANGHAI("上海",1002);
City(String name,int code) {
this.name = name;
this.code = code;
}
public String name;
public int code;
}
匿名类
在模型场合下,类的名字不重要,我们指向使用类中的方法或功能,那么此时可以采用特殊的语法:匿名类
所谓匿名类,就是没有名字的类
package object;
public class Nm {
public static void main(String[] args) {
Me me = new Me();
me.sayHello(new Person() {
public String name(){
return "wangwu";
}
});
}
}
class Me {
public void sayHello(Person person) {
System.out.println("Hello "+person.name());
}
}
abstract class Person {
public abstract String name();
}
bean规范
类必须含有无参,公共的构造方法
属性必须私有化,然后提供公共的get、set方法
案例:实现登录功能,用户具有登录权限,而无登录功能
package object;
public class login {
public static void main(String[] args) {
User user = new User();
user.setUsername("admin");
user.setPassword("12345");
System.out.println(Login(user));
}
public static boolean Login(User user){
if (user.getUsername().equals("admin") && user.getPassword().equals("12345") ){
return true;
}else {
return false;
}
}
}
class User {
private String username;
private String password;
public void setUsername(String username){
this.username = username;
}
public void setPassword(String password){
this.password = password;
}
public String getUsername(){
return username;
}
public String getPassword(){
return password;
}
}