diff --git a/day06/src/com/inmind/object01/Demo04.java b/day06/src/com/inmind/object01/Demo04.java index 3a69fcd..913f25f 100644 --- a/day06/src/com/inmind/object01/Demo04.java +++ b/day06/src/com/inmind/object01/Demo04.java @@ -9,7 +9,7 @@ package com.inmind.object01; public class Demo04 { public static void main(String[] args) { //创建一个学生,并给学生设置属性值,展示该学生 - Student s = new Student(); + Student s = new Student("lisi"); System.out.println("s的地址:"+s);//s中保存的是地址 //设置属性 //s.name = "张三"; @@ -19,6 +19,11 @@ public class Demo04 { System.out.println(s.getName()); System.out.println(s.getAge()); s.show(); - + System.out.println("-------------"); + //通过有参构造,创建学生对象 + Student s1 = new Student("王五", 22); + s1.show(); + s1.setName("王五1"); + s1.show(); } } diff --git a/day06/src/com/inmind/object01/Student.java b/day06/src/com/inmind/object01/Student.java index 316bed8..58cbf3f 100644 --- a/day06/src/com/inmind/object01/Student.java +++ b/day06/src/com/inmind/object01/Student.java @@ -1,10 +1,40 @@ package com.inmind.object01; /* -总结: +类定义的总结: 1.在java中描述一类事物,是要有特征(成员变量)和行为(功能方法,不要用static来修饰)来组成 2.在类中并不是都必须要主方法的,如果一个类要运行,并得到一些结果,那么就必须要主方法 在java中一个类只是用来描述一类事物的时候,那么就不要主方法。 */ +//------------------------------------------------------ +/* +构造方法 +Student():就是学生类的默认无参构造方法 + +普通自定义方法 +方法修饰符 返回值类型 方法名(参数列表){ + 方法体;return +} + +构造方法 +方法修饰符 构造方法名(参数列表){ + 方法体 +} + +构造方法:1.没有返回值类型 + 2.构造方法名必须跟类名一致 + + 注意:当源文件,进行编译之后编译器扫描整个类的内容,如果它发现你没写构造方法,它会帮你自动添加一个 + 默认的无参构造方法。如果你写了构造方法,编译器就不会自动添加一个默认的无参构造方法 + +构造方法是可以重载的。 + +构造方法的作用:通过new调用该构造方法,创建对象,并且对该对象的属性进行赋值 + +有参构造方法:创建对象并赋值指定的值 +无参构造方法:创建对象并赋值默认初始化值 + */ + + public class Student { //特征 @@ -20,6 +50,26 @@ public class Student { private double score; + //无参构造方法,如果类中没有构造方法,编译器主动自动添加无参构造 + public Student(){ + //对所有的属性设置默认值 + } + + //有参构造方法 + public Student(String name){ + //针对指定的属性赋值,其他的属性默认 + this.name = name; + } + + //2个参数 + public Student(String name,int age){ + //针对指定的属性赋值,其他的属性默认 + this.name = name; + this.age = age; + } + + + //使用get/setXXX方法来对private修饰的成员变量,进行取值和赋值 public String getName(){