package day03;
/*
面向过程:
最小的处理单位是函数。把大问题分解成小问题,每个问题一个函数来实现。
把大象装入冰箱:
1.打开冰箱门
2.把大象放入冰箱
3.关上冰箱门
面向对象:
最小的处理单位是类。把大象装入冰箱,这个过程中又哪些事物,每个事物的行为。
1.冰箱:开门、关门
2.大象:进入(冰箱)
3.人:打开(冰箱)、操作(大象)、关闭(冰箱)
属性:成员变量
行为:办法
*/
public class Demo01 {
public static void main(String[] args) {
// 具体的学生,对象、实例
Student zhangSan = new Student();
zhangSan.name = "张三"; // 调用属性,设置或者获取属性的值
zhangSan.height = 170;
zhangSan.sleeping();// 调用无参的方法
zhangSan.learning("图书馆", "三国演义"); // 调用有参的方法
zhangSan.age = 28;
zhangSan.gender = '男';
zhangSan.weight = 70;
zhangSan.info();
Student liSi = new Student();
liSi.name = "李四";
liSi.height = 190;
liSi.gender = '男';
liSi.weight = 180.5f;
liSi.age = 22;
liSi.learning("宿舍", "Java"); // 没有返回值的方法,默认返回值是null
liSi.info();
int aa = liSi.getAge(); // 有返回值的方法,用变量接收这个返回值。
System.out.println("年龄:" + aa);
}
}
// 类型:相同特征的一个群体
class Student {
// 成员变量(python 是在__init__方法中定义的)
// 成员变量:在类中定义的变量,属于实例,通过new创建实例的时候,这些属性就创建了。
// 实例销毁时,这些属性才会释放。
// 堆内存。(更新慢)public/private、static、final可以用来修饰成员变量。
// 局部变量:在方法中定义的变量,或者方法的参数。调用方法的时候,才会创建局部变量,方法调用完释放。
// 栈内存。(更新快)final可以用来修饰局部变量
// 成员变量和局部变量的名字可以一样,成员变量加this来标识。
String name;
char gender;
int age;
float height;
float weight;
public void setName (String name) {
// this.name 这是成员变量
// = 后面的 name 是局部变量
this.name = name;
}
public void info() {
System.out.println("姓名:" + name + ",性别:" + gender + ",年龄:" + age +
",身高:" + height + ",体重:" + weight);
}
// void表示没有返回值
// public表示公共的
// () 里面没有内容,表示没有参数
public void sleeping() {
System.out.println(name + "正在睡觉");
}
// 方法带了两个string类型的参数,一个表示地点,一个表示书
public void learning(String place, String book) {
System.out.println(name + "在" + place + "看" + book);
}
// 方法声明返回一个int类型的值,方法中用return返回对应类型的值。
public int getAge() {
return age;
}
}
|