java基础知识第十九天

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基础知识第十九天)