java中的类和对象
1、类与对象的初步认知
2、类和对象的实例化
3、类的成员
3.1、字段,属性,成员变量
3.2、方法
3.3、static 关键字
3.4、小结
4、封装
4.1、private实现封装
4.2、getter 和 setter方法
5、构造方法
5.1、基本方法
5.2、this 关键字
6、认识代码块
6.1、什么是代码块
6.2、普通代码块
6.3、构造代码块
6.4、静态代码块
7、匿名对象
1、类与对象的初步认知
C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。
JAVA是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。
面向过程注重的是过程,在整个过程中所涉及的行为,就是功能。
面向对象注重的是对象,也就是参与过程所涉及到的主体。是通过逻辑将一个个功能实现连接起来
面向对象注重的是对象,也就是参与过程所涉及到的主体。是通过逻辑将一个个功能实现连接起来
面向过程: 1.把冰箱打开 2. 把大象放入 3. 冰箱关起来 面向对象: 打开冰箱,储存,关闭都是对冰箱的操作,是冰箱的行为。冰箱就是一个对象,所以只要操作冰箱所具备的功能,都要定义在冰箱中。
【面向对象概念】
1.面向对象是思考问题的一种思考方式,是一种思想。比如:概念与实例。理论与实践。名和实等等
2.类就是一类对象的统称。对象就是这一类具体化的一个实例。
3.面向对象的好处:将复杂的事情变简单了,只要面对一个对象就行
简而言之
面向对象就是用代码(类)来描述客观世界的事物的一种方式. 一个类主要包含一个事物的属性和行为
2、类和对象的实例化
类就是一类对象的统称。对象就是这一类具体化的一个实例。
简单的例子:我们做月饼的模子就是一个类,而通过这个模子可以做出月饼,那么在这个例子当中,类就是那个模子,而月饼就是那个对象,所以月饼就是一个实体。一个模子可以实例化无数个对象。
总的来说:类相当于一个模板,对象是由模板产生的样本。一个类,可以产生无数的对象。
声明一个类就是创建一个新的数据类型,而类在 Java 中属于引用类型, Java 使用关键字 class 来声明类。
我们来看以下简单的声明一个类
class TestStu{
public String name;//成员变量,属性,字段
public int age;//成员变量,属性,字段
public void add(){
System.out.println("这是一个方法");
}
}
public class TestDome {
public static void main(String[] args) {
TestStu teststu = new TestStu();
System.out.println(teststu.name);
}
}
class表示类的关键字,TestStu表示类的名字,name 和 age 表示类的成员变量
类中的元素称为:成员属性。类中的函数称为:成员方法
对于成员变量
给成员变量赋值
方法的区分
注意事项
和之前写的方法不同, 此处写的方法不带 static 关键字. 后面我们会详细解释 static 是干啥的
TestStu teststu = new TestStu(); 表示实例化一个对象 ,teststu 这个引用指向了 new TestStu()这个对象,这个对象里有name 和 age 这两个属性。
类的实例化
用类类型创建对象的过程,称为类的实例化
- 类只是一个模型一样的东西,限定了类有哪些成员.
- 一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量
- 做个比方。类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图,只设计出需要什么东西,但是并没有实体的建筑存在,同样类也只是一个设计,实例化出的对象才能实际存储数据,占用物理空间
类相当于一类东西具有相同的属性,特点的东西:比如说
一辆宝马车(这是一个对象),一辆奔驰(这是一个对象),他们都能做人,都有灯,都有座椅(这就是他们具有的相同的属性),当然也有对于另一个对象没有的属性(比如说,宝马车有天窗,而奔驰车没有)
对象就是由类抽象而来的,这个过程就是实例化
看下面的 代码
class TestStu{
public String name = "zhangsan ";//成员变量,属性,字段
public int age;//成员变量,属性,字段
public void add(){
//成员方法
System.out.println("这是一个方法");
}
}
public class TestDome {
public static void main(String[] args) {
TestStu teststu1 = new TestStu();//这是第一个对象
System.out.println(teststu1.name);
System.out.println("=============");
TestStu teststu2 = new TestStu();//这是第二个对象
System.out.println(teststu2.name);
}
}
通过new实例化 产生两个对象,name 和 age 是他们共有的属性
注意事项
new 关键字用于创建一个对象的实例.
使用 . 来访问对象中的属性和方法.
同一个类可以创建对个实例
3、类的成员
3.1、字段,属性,成员变量
类的成员可以包含以下:字段、方法、代码块、内部类和接口等…
在类中, 但是方法外部定义的变量. 这样的变量我们称为 “字段” 或 “属性” 或 “成员变量”(三种称呼都可以, 一般不会严
格区分)
用于描述一个类中包含哪些数据
比如说:描述学生,我们可以通过学生的姓名,年龄,学生号等等,来描述,每个学生的这些都不相同,所以有很多的学生,就可以秒速不同的学生
class TestStu{
public String name = "zhangsan ";//成员变量,属性,字段
public int age = 18;//
public void add(){
//成员方法
S