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();
}
}
到这里就结束了,若有错误请指正。



