想要定义一个类就要想明白两件事:
属性:(是什么)
行为:(能做什么)
下面我们通过几个例子来详细说明一下
定义一个类,用来模拟“学生”事物,其中就有两个组成部分:
属性:姓名
年龄
行为:吃饭
睡觉
学习
对应到Javal类中:
成员变量(属性):
String name;//姓名
int age; //年龄
成员方法(行为):
public void eat();//吃饭
public void sleep();//睡觉
public void study();//学习
注意事项:
1.成员变量是直接定义在类当中的,在方法外面
2.成员方法不要写static 关键字
例:
public class Student{
//成员变量位置
String name;
int age;
//成员方法位置
public void eat(){ //没有static关键字
System.out.println("吃饭饭");
}
public void sleep(){
System.out.println("睡觉");
}
public void study(){
System.out.println("学习");
}
}
通常情况下,一个类并不能直接使用,需要根据类创建一个对象,才能使用。步骤:
1.导包:也就是指出需要使用的类,在什么位置。
格式:import 包名称.类名称
对于和当前类属于同一个包的情况,可以省略导包语句不写
2.创建,
格式:类名称 对象名 = new 类名称();
例 Student stu = new Student();
3.使用,分两种情况
使用成员变量:对象名.成员变量名
使用成员方法:对象名.成员方法名(参数)
注意事项:
如果成员变量没有进行赋值,那么将会有一个默认值,规则和数组一样
例:
public class Dome01Student{
public static void mian(String[] args){
//1.导包
//需要使用的Student类,和Demo01Student位于同一包下,不需要导包
//2.创建
Student stu = new Student();//其实是在调用构造函数
//3.使用其中的成员变量,
System.out.println(stu.name);//没有赋值,结果是null
System.out.println(stu.age);//0
//改变对象当中成员变量的数值内容
stu.name = "赵丽颖";
stu.age = 18;
System.out.println(stu.name);//赵丽颖
//4.使用对象的成员方法
stu.eat();
stu.sleep();
stu.study();
}
}
TIPS:
局部变量和成员变量
1.定义的位置不一样【重点】
局部变量:在方法的内部
成员变量:在方法的外部,直接写在类当中
2.作用范围不一样【重点】
局部变量:只有方法中可以使用,出了方法就不可以用了
成员变量:整个类全都可以
3.默认值不一样【重点】
局部变量:没有默认值,用之前必须先进行赋值
成员变量:有默认值规则和数组一样
4.内存的位置不一样
局员变量:位于栈内存
成员变量:位于堆内存
5.生命周期不一样
局部变量:随着方法进栈而诞生,随着方法出栈而消失
成员变量:随着对象创建而诞生,随着对象被回收而小消失