1、创建对象
类名 对象名 = new 类名();
例如:
phone p = new phone();
2、使用对象
使用成员变量:
对象名.变量名
例如:
p.brand
使用成员方法:
对象名.方法名();
例如:
p.call();
对象内存图
多个对象内存图
图中两个对象分别指向不同的地址值
多个对象指向相同
package comdemon;
public class StudentTest03 {
public static void main(String[] args){
//创建对象并使用
Student s1 = new Student();
s1.name = "林青霞";
s1.age = 30;
Student s2 = s1;
//把第一个对象的地址值赋给第二个对象
s2.name = "张曼玉";
s2.age = 28;
System.out.println(s1.name + " " +s1.age);
System.out.println(s2.name + " " +s2.age);
}
}
最终的输出结果都是张曼玉,28
成员变量和局部变量
成员变量
类中方法外的变量
局部变量
类中方法中的变量
成员变量与局部变量的区别
在同一个方法中,不允许有同名的局部变量,在不同的方法中可以有同名的局部变量。局部变量可以和成员变量同名,在使用时局部变量具有更高的优先级
封装
private关键字
变量名首字母应该大写
package comdemon;
public class StudentDemon {
private int age;
String name;
public void setAge(int a){
age = a;
if(a <= 0){
System.out.println("您输入的年龄有误");
}else {
age = a;
}
}
public int getAge(){
return age;
}
}
//首先定义一个类
//然后有创建一个Java类
package comdemon;
import java.util.Scanner;
public class lianxi {
public static void main(String[] args) {
StudentDemon l = new StudentDemon();
l.name = "林青霞";
l.setAge(-30);
System.out.println(l.name + " " +l.getAge());
}
}
此代码中就不能直接使用l.age,需要通过方法来访问
this关键字
this修饰的是成员变量
注释部分的输出值是null和0,因为注释部分的等式两边都是局部变量
this后面的是成员变量,等号右边是局部变量
封装是面向对象三大特征之一(封装 继承 多态)