1. 类和对象的概念?
对象:世界万物皆对象。
是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。
类:类是具有相同属性和服务的一组对象的集合抽象,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。
类和对象的关系:类可以看成一类对象的模板,对象可以看成该类的一个具体实例
2. 类之间的关系?
a:继承
一个类是另一个类的子类
Class Father{
}
Class Child extends Father{…}子类继承的父类
b:实现-也是一个继承
接口
Interface Animal{--这也是一个类
}
Class Dog implements Animal{ - - Dog类实现了animal类
}
c:组合–diy -
Class CPU{
}
Class Keyborad{..}
Class computer{
//在类声明其他类的成员变量就叫组合
Private Cpucpu;
Private keyboardkeyboard;
}
d:依赖- 就是指在一个类的某个方法中使用了另个类的对象
Class Computer{
Private Cpu cpu;
Private keyboard keyboard;
Public void runUsb(){
Usb usb = new Usb();///Colputer类,依赖了usb这个类。
}
}
3. 如何创建类?
创建类的语法格式:
类的修饰符 class 类名{
//属性---用成员变量来描述属性
成员变量的修饰符成员变量的数据类型变量名;
//服务---用成员方法来描述服务
方法的修饰符方法的返回值方法名(方法的参数列表){
//方法体
}
}
案例—car类
4. 如何创建对象?
换句话说如何对类进行实例化?
通过new关键字对类实例化。
Ø new 类的构造方法();
Ø 对象的反序列化
Ø 克隆
5. 对象的使用
对象的使用,需要用到一个运算符“.”
对象包含两部分内容:属性(变量)和服务(方法)。
对象.变量名
对象.方法名
//如何创建小汽车类的对象?new 构造方法();
//如何使用对象:对象.属性或者是对象.方法
/*System.out.println((new Car()).color);
(new Car()).run();*/
//创建一个变量,变量是什么类型的变量?下面几行代码和上面代码等价
Car car = new Car();
System.out.println(car.color);
car.run();
6. 类的构造方法
定义:
特殊的方法
Ø 方法名和类名相同;
Ø 方法没有返回值;
Ø 如果类中没有显示的定义构造方法,系统会默认的提供一个无参数的构造方法。
构造方法如何来调用?
用户new来实例化这个类时,就会由JVM调用这个方法
new 类的构造方法();
构造方法的作用是什么?
通过构造方法,对对象的状态(属性)进行初始化。
publicclass Demo02 {
private String name;
publicstaticvoid main(String[] args) {
Demo02 demo = new Demo02();//通过new关键字实例化这个类
System.err.println(demo.name);//null
Demo02 demo02 = new Demo02("jack");
System.out.println(demo02.name);
}
//以下方法是构造方法,当用户new来实例化这个类时,就会由JVM调用这个方法
//程序员不能去调用这个方法
public Demo02() {
System.err.println("Hello初始化完成了,构造方法在所有所有实例被调用之前调用");
}
//如果通过构造方法对对象进行初始化,那么需要显示创建有参数的构造方法
public Demo02(String _name){
name = _name;
}
}
7. 面向对象的三个特征
封装、继承和多态