美文网首页
java基础知识第十九天

java基础知识第十九天

作者: 牛倩贱 | 来源:发表于2018-11-06 21:14 被阅读0次

    1.static关键字

            static关键字可以用来修饰成员变量,该变量被称作静态变量,静态变量被所有实例共享。

    例:public class Student {

                    static String schoolName ; 

    }

    //测试类

            public class Example {

                public static void main ( String [ ] args){

                 Student s1= new Student();

                  Student s2= new Student ();

                    Student.schoolName="陕西理工大学";

    /*由于schoolName是静态变量,因此可以直接使用Student。schoolName的方式调用,也可用Student的实例对象进行调用。如s1.schoolName

    s2.schoolName*/

                    system.out,println("鸹貔1的学校是"+s1.schoolName);

                    system.out.println("鸹貔2的学校是"+s2.schoolName);

    }

    }

    static关键字只能用于修饰成员变量,不能用于修饰局部变量。

    静态方法不需要创建对象就可以调用。

    静态代码块:在java类中,用static关键字修饰 的代码块称为静态代码块,当类被加载时,静态代码会执行,由于类只加载一次,因此静态代码块只执行一次。

    2.单例模式

            单例模式是java中的一种设计模式,它是指在设计一个类时,需要保证在整个程序运行期间针对该类只存在一个实例对象。

    例:public class Single {

                //创建一个对象

            private static Single INSTANCE = new  Single ();

    //在类的内部创建一个该类的实例对象,并使用静态变量INSTANCE引用该对象,由于变量要禁止外界直接访问,所以用private修饰。

            private  Single() { }  // 私有化构造方法

    //类的构造方法使用private修饰,声明为私有,这样就不能再类 的外部使用new关键字来创建实例对象了。

            public static single getInstance( ) {  // 提供返回该对象的静态方法

                return  INSTANCE;

    }

    }

    //测试类

    public  class Example {

        public static void main(String [ ] args) {

        Single s1 = Single.getInstance();

        Single s2 = Single.getInstance();

        system.out.println(s1==s2);

    }

    }

    3.请按照以下要求设计一个学生类Student,并进行测试。

    a.Student类中包含姓名,成绩两个属性。

    b.分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值。

    c.Student类中定义一个无参 的构造方法和一个接收两个参数的构造方法,两个参数分别是姓名和成绩属性赋值。

    d.在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给姓名和成绩赋值,另一个使用有参的构造方法,在构造方法中给姓名和成绩赋值。

    public class Student {

    //成员变量

    private String name;

    private int grade;

    public void Student(){}  //无参方法

    public void Student(String name, int grade){    // 有参方法

    this.name= name;

    this.grade = grade;

    }

    //成员方法

    public void setName(String name){

    this.name=name;

    }

    public String getName(){

    return name;

    }

    public void setGrade(int grade){

    this.grade=grade;

    }

    public int getGrade(){

    return grade;

    }

    }

    //测试类

    public class StudentDemo {

    public static void main(String[] args) {

    Student s1 = new Student();

    Student s2 = new Student();

    //使用无参构造方法

    s1.Student();

    s2.Student();

    s1.setName("鸹貔1");

    s2.setName("鸹貔2");

    s1.setGrade(89);

    s2.setGrade(90);

    System.out.println(s1.getName());

    System.out.println(s1.getGrade());

    System.out.println(s2.getName());

    System.out.println(s2.getGrade());

    System.out.println("-----------------------");

    //使用有参构造方法

    s1.Student("鸹貔1",89);

    s2.Student("鸹貔2",90);

    System.out.println(s1.getName()+"----"+s1.getGrade()+"-----"+s2.getName()+"---"+s2.getGrade());

    }

    }

    相关文章

      网友评论

          本文标题:java基础知识第十九天

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