package GolbalText2; // 学生类 public class Student { // 成员变量 String name; private int age; // 提供set方法,当括号里的变量名与成员变量名同名时:要用this.变量名:表示成员变量 // 不加this表示局部变量,防止遮挡成员变量 public void setAge(int age) { this.age = age; } // 提供get方法,返回值时什么类型,就用什么类型 public int getAge() { return age; } public void show(){ System.out.println(name+age); } }用private定义的成员变量不可以直接访问,我们可以通过get来访问
代码:
package GolbalText2; // 测试类 public class StudentDemo { public static void main(String[] args) { // 创建对象 Student sd = new Student(); sd.name="张三"; // 给带有封装属性的成员变量赋值 sd.setAge(16); //直接带入向管的值 // 显示类中的方法,通过show方法显示 sd.show(); // 第二种显示,这是直接显示 System.out.println(sd.name+sd.getAge()); } }构造方法:初始化对象。 java的构造方法在创建时被调用。Java有默认的构造方法,但是当想用别的构造方法时:需要重新定义构造方法。 定义构造方法: 1、方法名必须与类型相同 2、可以没有参数,或多个参数 3、返回值类型就是本身的类型 4、跟创建对象中的new连用
package GolbalText3; // 学生类 public class Student { String name; int age; public Student(){ System.out.println("这是无参数的构造方法"); } public void show(){ System.out.println(name+","+age); } } ------------------------------------------------------------------------------------package GolbalText3; // 测试类 public class StudentDemo { public static void main(String[] args) { // 创建对象 Student ad = new Student(); ad.show(); } }可以看到 创建对象,其实也是在调用构造方法 构造方法传值的情况:
package GolbalText3; import GolbalText2.Student; public class Student1 { private String name; private int age; // 无参构造方法,如果没有写,使用系统默认的构造方法 public Student1(){ System.out.println("这是无参构造方法"); } // 一个参数的构造方法: public Student1(String name){ this.name = name; } // 这是一个参数的构造方法 public Student1(int age){ this.age=age; } // 这是两个的构造方法 public Student1(String name,int age){ this.name=name; this.age=age; } public void show(){ System.out.println(name+","+age); } }
package GolbalText3; import GolbalText2.Student; public class StudentDemo1 { public static void main(String[] args) { // 创建对象, Student1 sd = new Student1(); //这个时候,学生类里的构造方法就已经开始执行了 sd.show(); // 传一个参数(名字) Student1 sd1 = new Student1("张三丰"); sd1.show(); // 传一个参数(年龄) Student1 sd2 = new Student1(16); sd2.show(); // 传两个参数(名字,年龄) Student1 sd3 = new Student1("周星驰",16); sd3.show(); } }
到这里就结束了,若有错误请指正。