面向对象
- 面向对象编程(Object-Oriented Programming,OOP)
- 面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。
- 抽象
- 三大特性
- 从认识角度考虑是先有对象后有类。对象,是具体的事物。类是抽象的是对对象的抽象;
- 从代码运行角度考虑是先有类后有对象。类是对象的模板;
类与对象的关系
- 类是一种抽象的数据类型,它是对某一类事物整体描述定义,但是并不能代表某一个具体的事物。
- 对象是抽象概念的具体事例
创建与初始化对象
- 使用“new”关键字创建对象:
- 使用“new”关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用。
- 类中的构造器也成为构造方法,是在进行创建对象的时候必须要调用的,并且构造器有以下两个特点:
- 必须和类的名字相同
- 必须没有返回类型,也不能写 void
4. 定义了一个有参构造器,想要调用无参构造,需显示定义一个无参构造:public 方法名(){ };
5. 生成构造器快捷键:alt+insert
6. new的本质是调用构造器。
package OOP.Demo1;
public class Student {
String name;
int age;
public void study(){
System.out.println(this.name+"在学习");
}
}
/*
public static void main(String[] args) {
Student xm = new Student();
Student xh = new Student();
xm.name = "小明";
xh.name = "小红";
xm.age = 3;
xh.age = 3;
System.out.println(xm.name);
System.out.println(xm.age);
System.out.println(xh.name);
System.out.println(xh.age);
}
*/
package OOP.Demo1;
// java ===> class
public class Person {
String name;
//定义一个方法,实例化初始值,无参构造
public Person(){
this.name = "qinjiang";
}
// 有参构造 生成构造器的快捷键;alt+insert
public Person(String name){
this.name = "qinjiang";
}
}
/*
public static void main(String[] args) {
//new 实例化了一个对象
Person person = new Person();
System.out.println(person.name);
}
*/