三、Java中级--1、枚举与类的静态成员

1、枚举

enum:表示可以计数的一种类型


三、Java中级--1、枚举与类的静态成员_第1张图片
结构

Gender枚举类

package javastudy;

public enum Gender {
    Male,
    Female,
}

Person类

package javastudy;

public class Person {
    int age;
    String name;
    Gender gender;
    void display(){
        System.out.println("姓名="+name+",年龄="+age+",性别="+gender);
    }
}

Testit类

package javastudy;

public class Testit {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Person z=new Person();
        z.age=18;
        z.name="zhang";
        z.gender=Gender.Female;
        z.display();
    }
}
结果
  • 格式化字符串
    String.Format,将System.out.println的输出不用写的那么繁琐

上面的输出可以写成

System.out.println(String.format("姓名=%s,年龄=%d,性别=%s",name,age,gender));

(点击查看)JAVA字符串格式化-String.format()的使用参考说明链接

2、类的静态成员

该成员属于整个类,而不属于某一个对象
如下,每个人的都有国籍,但是都属于同一个国家中国,这样,只需要在Person中将国籍设置为static,即可在类中引用
Person类加入国籍属性

package javastudy;

public class Person {
    int age;
    String name;
    Gender gender;
    static String nation;
    void display(){
//        System.out.println("姓名="+name+",年龄="+age+",性别="+gender);
        System.out.println(String.format("姓名=%s,年龄=%d,性别=%s,国籍=%s",name,age,gender,Person.nation));
    }
}

Testit类

package javastudy;

public class Testit {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Person z=new Person();
        z.age=18;
        z.name="zhang";
        z.gender=Gender.Female;
        Person.nation="中国";
        z.display();
    }
}
image.png

上面定义的是一个属性,对于方法也可以,比如定义一个private static
Person类

package javastudy;

public class Person {
    int age;
    String name;
    Gender gender;
    private static String nation; //国籍, 只允许在本类中访问
    static void setNation(String nation) {  //访问静态成员,使用静态方法
        Person.nation=nation;//不能使用this,因为不是对象的引用,而是使用类的引用
    }
    void display(){
//        System.out.println("姓名="+name+",年龄="+age+",性别="+gender);
        System.out.println(String.format("姓名=%s,年龄=%d,性别=%s,国籍=%s",name,age,gender,Person.nation));
    }
}

Testit类

package javastudy;

public class Testit {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Person z=new Person();
        z.age=18;
        z.name="zhang";
        z.gender=Gender.Female;
        Person.setNation("中国");  
        z.display();
    }
}

你可能感兴趣的:(三、Java中级--1、枚举与类的静态成员)