类与对象
类:是一组相关的属性和行为的抽象
对象:是该类事物的具体体现。(实例)
1.类的定义
类是用来描述现实世界事物的。
事物:
属性 特征
行为 功能
类:
成员变量 特征
成员方法 功能
类的组成:
成员变量 类中方法外的变量
成员方法 没有static修饰的方法
练习:用Java语言体现学生类。
分析:
A:得到学生事物
B:把学生事物转换为学生类
C:用代码体现学生类
实现:
A:得到学生事物
属性:
行为:
B:把学生事物转换为学生类
成员变量:
成员方法:
C:用代码体现学生类
学生类:
成员变量:
成员方法:
public class Student {
//定义学生的成员变量
String name;
int age;
//定义成员方法
public void eat(){
//局部变量:位于方法中或者方法上的变量叫局部变量
System.out.println("肚子饿了需要就餐");
}
public void sleep(){
System.out.println("学习困了该睡觉");
}
}
使用一个类,其实是使用该类的成员。(变量和方法)
我们要想想用一个类的成员,就必须创建该类的对象。
如何创建类的对象呢?
格式:
类名 对象名 = new 类名();
就表示创建了该类类型的一个对象。
如何使用成员呢?
成员变量:
对象名.变量;
成员方法:
对象名.方法名(...);
public class Test {
public static void main(String[] args) {
//创建一个学生对象
//类名 对象名 = new 类名();
Student s = new Student();
//打印一下这个学生对象的姓名和年龄
//System.out.println(s.name);//null
//System.out.println(s.age);//0
//给学生对象的姓名和年龄赋值
s.name = "刘德华";
s.age = 50;
System.out.println(s.name);//刘德华
System.out.println(s.age);//50
//试用一下学生的成员方法
s.eat();
s.makePlane();
s.study();
}
}
2.成员变量和局部变量的区别?
A:在类中的位置不同
成员变量 类中方法外
局部变量 方法内或者方法声明上
B:在内存中的位置不同
成员变量 堆内存
局部变量 栈内存
C:生命周期不同
成员变量 随着对象的存在而存在,随着对象的消失而消失
局部变量 随着方法的调用而存在,随着方法的调用完毕而消失
D:初始化值
成员变量 有默认初始化值
局部变量 没有默认初始化值
3.匿名对象
匿名对象:就是没有名字的对象
是对象一种简写形式。
应用场景:
A:调用方法(对象调用方法仅仅一次的时候)
B:作为实际参数传递