美文网首页
三、Java中级--1、枚举与类的静态成员

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

作者: cybeyond | 来源:发表于2018-03-27 10:09 被阅读0次

    1、枚举

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


    结构

    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、枚举与类的静态成员

          本文链接:https://www.haomeiwen.com/subject/msgrcftx.html