面向对象编程的本质就是:以类的方式组织代码,以对象的方式组织(封装)数据
一、定义
- 类是一种抽象的数据类型,它是对某一类事物整体的描述或定义,但是不能代表某一个具体的事物。
- 动物、植物、手机、电脑…
- Person类、Pet类等,这些类都是用来描述或定义某一类具体的事物应该具备的特点和行为。
- 对象是抽象概念的具体实例。
- 张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体事例。
- 能够体现出特点,展现出功能的是具体的实力,而不是一个抽象的概念。
- 对象是具体的事物,类是抽象的;
- 类是对象的模板,对象是类的实例。
二、创建和调用
- 在Java中定义类,需要使用使用关键字 class 来完成。
- class 类名
- 属性(变量)
- 行为(方法)
class Person { // 类名称首字母大写 String name ; int age ; public void get() { System.out.println("姓名:" + name + ",年龄:" + age); } }
- class 类名
- 类定义完成之后,无法直接使用。如果要使用,必须用new声明并实例化对象。
- 类名 对象名 = new 类名 () ;
- 当一个实例化对象产生之后,可以按照如下的方式进行类的操作:
- 对象.属性:表示调用类中的属性;
- 对象.方法():表示调用类中的方法。
Person per = new Person() ;// 声明并实例化对象 per.name = "张三" ;//操作属性内容 per.age = 30 ;//操作属性内容 per.get() ;//调用类中的get()方法
三、构造方法
- 使用 new 关键字,本质是在调用构造方法。
- 构造方法名与类名相同,同时构造方法是没有返回类型的。
public class Sample { private int x; public Sample() { // 不带参数的构造方法 this(1); } public Sample(int x) { //带参数的构造方法 this.x=x; }
- 当没有指定构造方法时,系统会自动添加无参且方法体为空的构造方法。
- 如果用户定义了构造方法,就不会有默认构造方法。