1.1什么是类
类的重要性: 类是java程序的级别组成单位
类是什么: 是对现实生活中一类具有共同属性和行为的事物抽象,确定对象将会拥有属性和行为
1.1.1 类的组成: 属性 和 行为
- 属性: 在类中通过成员变量来体现(类中的方法外的变量)
- 行为: 在类中通过成员方法来体现(面向对象的方法,和单独的方法相比去掉static关键字)
1.1.2 类和对象的定义格式
1.1.3定义类示例
定义类Phone.java
/*
类的定义
类定义步骤:
定义类:
编写类成员变量
编写类成员方法
手机类:
类名:
手机(Phone)
成员变量:
品牌(brand)
价格(price)
成员方法:
打电话(call)
发短信(sedMessage)
*/
public class Phone {
// 成员变量:
String brand;
int price;
public void call(){
System.out.println("打电话");
}
public void sedMessage(){
System.out.println("发短信");
}
}
1.1.4对象的使用
定义测试类示例:定义测试类:PhoneDemo.java
/*
创建对象:
格式: 类名 对象 = new 类名();
范例: Phone p = new Phone();
使用对象
1.使用成员变量
格式: 对象名.class里的变量名
范例: p.barnd;
2.使用成员方法
格式: 对象名.方法名( )
范例: p.call();
*/
public class PhoneDemo {
public static void main(String[] args) {
//1.创建对象
Phone p = new Phone();
//2.使用成员变量
System.out.println(p.brand);
System.out.println(p.price);
//3.修改属性
p.brand = "小米";
p.price = 2999;
System.out.println(p.brand);
System.out.println(p.price);
//4.使用方法
p.call();
p.sedMessage();
}
}
1.1.5类和对象案例
分析:
成员变量: 姓名,年龄...
成员方法: 学习,做作业...
思路:
1)定义1个学生类
类名: Student
成员方法: name, age
成员方法: study(), doHomeWork()
2)定义1个学习测试类
类名: StudentDemo
因为要做测试,所有有一个main方法
3)在学习测试类中通过对象完成成员变量和方法的使用
给成员变量赋值,输出成员变量的值
调用成员方法
定义Student类
/*
学生类Student.java
*/
public class Student {
//成员变量
String name;
int age;
public void study(){
System.out.println("学习");
}
public void doHomeWork(){
System.out.println("写作业");
}
}
/*
学生测试类StudentDemo.java
*/
public class StudentDemo {
public static void main(String[] args) {
//1.创建对象
Student s = new Student();
//2.使用对象
System.out.println(s.name + "," + s.age);
s.name = "tom";
s.age = 20;
System.out.println(s.name + "," + s.age);
//3.使用成员方法
s.study();
s.doHomeWork();
}
}
1.2对象内存图
1.2.1单个对象内存图
/*
学生测试类StudentDemo.java
*/
public class StudentDemo {
public static void main(String[] args) {
//1.创建对象
Student s = new Student();
System.out.println(s);
//2.使用对象
System.out.println(s.name + "," + s.age);
s.name = "tom";
s.age = 20;
System.out.println(s.name + "," + s.age);
//3.使用成员方法
s.study();
s.doHomeWork();
}
}
public class Student {
//成员变量
String name;
int age;
public void study(){
System.out.println("学习");
}
public void doHomeWork(){
System.out.println("写作业");
}
}
1.2.2 双对象内存图
/*
学生测试类StudentDemo.java
*/
public class StudentDemo01 {
public static void main(String[] args) {
//1.创建第一个对象
Student01 s1 = new Student01();
//2.使用对象
System.out.println(s1.name + "," + s1.age);
s1.name = "tom";
s1.age = 20;
System.out.println(s1.name + "," + s1.age);
//3.使用成员方法
s1.study();
s1.doHomeWork();
//1.创建第二个对象
Student01 s2 = new Student01();
System.out.println(s2.name + "," + s2.age);
s2.name = "jack";
s2.age = 200;
System.out.println(s2.name + "," + s2.age);
s2.study();
s2.doHomeWork();
}
}
public class Student01 {
//成员变量
String name;
int age;
public void study(){
System.out.println("学习");
}
public void doHomeWork(){
System.out.println("写作业");
}
}