Java创建类与对象
面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个细节。
面向过程(Procedure Oriented)是一种以过程为中心的编程思想
面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的对象,来帮助实现功能。
创建类
类里的 属性
和 方法
。
public class Student {
// 成员变量
String name; // 姓名
int age; // 姓名
// 成员方法
public void eat() {
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 Demo02Student {
public static void main(String[] args) {
// 1. 导包.
// 我需要使用的Student类,和我自己Demo02Student位于同一个包下,所以省略导包语句不写.
// 2. 创建,格式:
// 类名称 对象名 = new 类名称();
// 根据Student类,创建了一个名为stu的对象
Student stu = new Student();
// 3. 使用其中的成员变量,格式:
// 对象名.成员变量名
System.out.println(stu.name); // null
System.out.println(stu.age); // 0
System.out.println("=============");
// 改变对象当中的成员变量数值内容
// 将右侧的字符串,赋值交给stu对象当中的name成员变量
stu.name = "xxx";
stu.age = 18;
System.out.println(stu.name); // xxx
System.out.println(stu.age); // 18
System.out.println("=============");
// 4. 使用对象的成员方法,格式:
// 对象名.成员方法名()
stu.eat();
stu.sleep();
stu.study();
}
}
标准类 Java Bean
/*
*
一个标准的类通常要拥有下面四个组成部分:
1. 所有的成员变量都要使用private关键字修饰
2. 为每一个成员变量编写一对Getter/Setter方法
3. 编写一个无参数的构造方法 用来初始化一些成员变量
4. 编写一个全参数的构造方法
这样标准的类也叫做Java Bean
*/
public class Student {
// 成员变量都要使用private关键字修饰
private String name; // 姓名
private int age; // 年龄
//无参构造方法初始化
public Student() {
}
//全参构造方法
public Student(String name, int age) {
this.name = name;
this.age = age;
}
//为每个成员变量编写getter setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
引用变量( reference variable )
对象通过引用变量(reference variable)来访问
ClassName objectRefVar = new ClassName();
// 类名称 对象的引用变量 = new 类名();
访问对象的数据和方法
对象访问操作符 (.)
this.name = name;
匿名对象( anonymous object )
匿名对象只使用一次.
匿名对象在实际开发中基本都是作为其他类实例化对象的参数传递
new ClassName;
// 直接new一个没有名字的对象
匿名对象和非匿名对象都是堆内存空间