3.类与对象
1.定义
类:类是对现实生活中一类具有共同属性和行为事物的抽象
对象:万物皆对象,客观存在的事物皆为对象,每个对象的每个属性都拥有特定的值
2.类与对象的关系
类是对象的抽象
对象是类的实体
3.面向对象
即面向一个具体的事物的过程
4.对象的使用
public class StudentDemo {
public static void main(String[] args) {
Student s = new Student();
s.age = 18;
s.name = "李白";
s.score = 100.0;
System.out.println(s.age+" "+s.score+" "+s.name);
s.study();
s.dohomework();
}
}
class Student {
String name;
int age;
double score;
public void study() {
System.out.println("好好学习,天天向上");
}
public void dohomework() {
System.out.println("键盘敲乱,月薪过万");
}
}
运行结果为
18 100.0 李白
好好学习,天天向上
键盘敲乱,月薪过万
5.对象内存图
5.1单个对象
5.2多个对象
5.3多个对象指向相同
6.成员变量和局部变量
6.1介绍
成员变量:类中方法外的变量
String name; int age;
局部变量:方法中的变量
int i=0; int j=0;
6.2区别
7.封装
7.1private关键字
-是一个权限修饰符
-可以修饰成员(成员变量和成员方法)
-作用是保护成员不被别的类使用,被private修饰的成员只在本类中访问
针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作
-提供”get变量名()“方法,用于获取成员变量的值,方法用public修饰
-提供”set变量名(参数)“方法,用于设置成员变量的值,方法用public修饰
7.2this关键字
this修饰的变量用于指代成员变量
-方法的形参如果与成员变量同名,不带this修饰的变量值指的是形参,而不是成员变量
-方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量
7.3this内存原理
7.4封装
1.概述
-是面向对象的三大特征之一(封装,继承,多态)
-是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的
2.原则
-将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
-成员变量private,提供对应的gextXxx()方法
3.好处
-通过方法来控制成员变量的操作,提高了代码的安全性
-把代码用方法进行封装,提高了代码的复用性
8.构造方法
8.1概述
构造方法是一种特殊的方法
作用:创建对象
8.2注意事项
1.构造方法的创建
-如果没有定义构造方法,系统将给出一个默认的无参数构造方法
-如果定义了构造方法,系统将不再提供默认的构造方法
2.构造方法的重载
-如果自定义了带参数构造方法,还要使用无参数构造方法,就必须再写一个无参数构造方法
3.推荐的使用方式
-无论是否使用,都手工书写无参数构造方法
8.3标准类的使用
public class StudentDemo {
public static void main(String[] args) {
Student s = new Student();
s.setName("李白");
s.setAge(18);
Student s1=new Student("李白",19);
s1.show();
}
}
class Student {
private String name;
private int age;
public Student(){
System.out.println("无参数构造方法");
}
public Student(String name,int age) {
this.name = name;
this.age = age;
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
public void show(){
System.out.println(name+" "+age);
}
}