面向对象基础
类与对象
- 在java中,必须先设计类,才能获得对象
1 | public class Phone{ |
- 成员变量 成员方法
1 | color ="蓝色";//成员变量 |
调用成员变量需要实例化对象
1 | phone p =new phone() |
注:一个文件中可以创建多个类,但只有一个类能有public所修饰
封装
对象代表什么,就得封装对应的数据,并提供数据对应的行为
private关键字
是一个权限修饰符
可以修饰成员(成员变量与成员方法)
注:被private修饰的成员只能在本类中才能访问
1 | public class GirlFriend |
1 | GirlFriend p=new GirlFriend(); |
针对于每一个私有化的变量,都需要提供get和set方法
- set方法
- 给成员变量赋值
- get方法
- 对外提供成员变量的值
1 | public class GirlFriend{ |
局部变量与成员变量
- 当局部变量名与成员变量名相同时,采用就近原则
1 | public class GirlFriend{ |
猜一猜该输出的结果为分别为什么呢?
下面我们来揭晓答案
1 | System.out.println(age);//10 |
在类中,方法体外的为成员变量
在类中,方法体内的为局部变量
当成员变量与局部变量名字相同时在调用该方法中的成员变量时,局部变量的优先级高于成员变量,采用就近原则输出结果
this关键字
就近原则
若全局变量与局部变量命名相同时,输出时,以最近的那个变量为依据输出即可。
区别 | 说明 |
---|---|
System.out.println(age); | 以局部变量优先 |
System.out.println(this.age); | 在本类中寻找此变量输出 |
advantage:
区别成员变量和成员变量
构造方法
1.构造方法
特点:
- 构造方法无返回值,也不能为void
- 构造方法的名称要与本类名称完全相同
- 构造方法的作用是用来给成员变量初始化的
- 构造方法中不能使用return
2.构造方法格式
- 无参构造方法
1 | 修饰符 class 类名(){ |
- 有参构造方法
1 | 修饰符 class 类名(){ |
例如:

:ear::ear::ear:
注:
1.无类的参数时,java虚拟机会自动帮我们创建一个无参构造方法
2.若类中出现有参的构造方法了,系统不会再帮我们创建无参构造方法了
3.使用过程中,一般我们既要写无参的构造方法也要写有参的构造方法
static关键字
1.条件:区分类与对象的
2.使用:
- static修饰的成员为类成员,静态成员(被所有的对象共享)
格式
1
static 类型 变量名;
调用方法
类名.静态变量;
类型 变量名; 修饰符 返回值类型 方法名 { //方法体 }1
2
3
4
5
6
7
* * 未被static修饰的成员为对象,非静态成员
* 格式1
2
3
4
5
6
* 调用方法:
* ```
类名 对象名 = new 类名();//实例化
对象名.成员名;
注:是否+static关键字取决于该变量是否具有唯一性
具有唯一性 不加该关键字
不具有唯一性 可以加入该关键字