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());

}

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,374评论 18赞 399
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 3,462评论 0赞 9
  • 废话不多说,自己进入今天的主题 1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:...
    传奇内服号阅读 2,591评论 1赞 31
  • 心情不好的时候都把开心的事情全都忘记了,记得昨天的滴滴师傅在我下车前还祝我考试顺利通过;一个本来决定不上学的学生又...
    小花儿飞阅读 142评论 0赞 0

友情链接更多精彩内容