1.学生类案例
学生类:
package daigua6;
/*
* 定义一个学生类
* */
public class Student {
// 成员变量
String name;
int age;
// 成员方法
public void study() {
System.out.println("好好学习,天天向上!");
}
public void eat() {
System.out.println("学习累了,要吃饭!");
}
}
调用:
package daigua6;
public class StudentDemo {
public static void main(String[] args) {
// 创建一个学生对象
Student s = new Student();
// 对成员变量赋值
s.name = "灭霸";
s.age = 108;
// 输出
System.out.println("name:" + s.name);
System.out.println("age:" + s.age);
// 调用成员方法
s.study();
s.eat();
}
}
目录结构:

2.类的封装和私有化
2.1private关键字
class Student:
package daigua6;
/*
* 定义一个学生类
* */
public class Student {
// 成员变量
String name;
private int age;
// 成员方法
// 设置年龄
public void setAge(int a) {
if (a<0 | a>200) {
System.out.println("年龄设置错误!");
}else {
age = a;
}
}
// 获得年龄
public int getAge() {
return age;
}
}
class StudentDemo:
package daigua6;
public class StudentDemo {
public static void main(String[] args) {
// 创建一个学生对象
Student s = new Student();
// 对成员变量赋值
s.name = "灭霸";
s.setAge(108);
// 输出
System.out.println("name:" + s.name);
System.out.println("age:" + s.getAge());
}
}
2.2this的使用
说明:代表所在类的对象引用,方法被哪个对象调用,this就代表那个对象
使用:当成员变量和局部变量重名
package daigua6;
/*
* 定义一个学生类
* */
public class Student {
// 成员变量
String name;
private int age;
// 成员方法
// 设置年龄
public void setAge(int age) {
if (age<0 | age>200) {
System.out.println("年龄设置错误!");
}else {
this.age = age; // 指明是当前对象的age
}
}
// 获得年龄
public int getAge() {
return age;
}
}
3.构造方法
说明:方法名与类名相同,主要用于对象初始化
3.1使用
package daigua6;
/*
* 定义一个学生类
* */
public class Student {
public Student() {
System.out.println("构造方法,初始化年龄!");
this.age = 18;
}
// 成员变量
String name;
private int age;
// 成员方法
// 设置年龄
public void setAge(int age) {
if (age<0 | age>200) {
System.out.println("年龄设置错误!");
}else {
this.age = age; // 指名是当前对象的age
}
}
// 获得年龄
public int getAge() {
return age;
}
}
3.2重载
说明:跟普通方法重载相通,根据形参类型和个数区分
学生类:
package daigua6;
/*
* 定义一个学生类
* */
public class Student {
public Student(int age) {
this.age = 18;
}
public Student(int age, String name) {
this.age = age;
this.name = name;
}
// 成员变量
private String name;
private int age;
// 成员方法
// 设置年龄
public void setAge(int age) {
if (age<0 | age>200) {
System.out.println("年龄设置错误!");
}else {
this.age = age; // 指名是当前对象的age
}
}
// 获得年龄
public int getAge() {
return age;
}
// 获得姓名
public String getName() {
return name;
}
// 设置姓名
public void setName(String name) {
this.name = name;
}
}
测试:
package daigua6;
public class StudentDemo {
public static void main(String[] args) {
// 创建学生对象
Student s1 = new Student(20);
Student s2 = new Student(20, "罗纳尔多");
// 输出
System.out.println("name:" + s1.getName());
System.out.println("age:" + s1.getAge());
System.out.println("name:" + s2.getName());
System.out.println("age:" + s2.getAge());
}
}
4.将类名作为形参
定义一个老师类:
package daigua6;
public class Teacher {
public void test(Student s) {
System.out.println(s.getName());
}
}
测试:
package daigua6;
public class TeacherDemo {
public static void main(String[] args) {
Student s = new Student(18, "达芬奇");
Teacher t = new Teacher();
t.test(s);
}
}
5.将类名作为返回值
略...