类和对象
类是模子,确定对象将会拥有的特征(属性)和行为(方法)。
类的特点:
类是对象的类型;
具有相同属性和方法的一组对象的集合。
类是抽象的概念,仅仅是模板。对象是一个你能够看得到、摸得到的具体实体。
类与对象的关系/区别:类是抽象的概念是一个模板,是条件信息。对象是一个具体的东西,是一个客观存在。好比是类是能打电话,能发短信的功能条件。而对象就是一部手机。
定义一个类的 三个步骤
- 定义一个类
- 定义类的属性(成员变量)
- 定义类的方法(函数)(也可以没有)
创建对象:
类名 对象名 =new 类名();
使用对象:
对象.属性;
对象.方法();
默认的成员变量的值是0。局部变量没有默认值。
成员变量跟局部变量同名时,局部变量优先。
1.成员变量: 在类中定义,用来描述对象将要有什么。
2.局部变量:在类的方法中定义,在方法中来临时保存数据。
1.成员变量可以被本类的所有方法使用,也可以被与本类有关系的其他类的方法使用
2.局部变量只能在本方法中使用。
构造方法:
1:new +构造方法 创建一个新的对象
2:构造方法名必须和类名相同,不能有任何返回值(void也不行)
3:可以重载多个构造方法,但是参数必须不同,没有参数的构造方法是默认构造方法
4:构造方法属于系统调用(一般在new时调用),一般不允许程序员显示调用。
5:普通方法名一般不要和构造函数名一样,但是也可以写和构造函数名一样的普通方法,但是需要有返回值(和构造函数进行区分)
5、当没有指定构造方法时,系统会自动添加无参的构造方法。
6、当有指定构造方法,无论是有参、无参的构造方法,都不会自动添加无参的构造方法。
7、构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法。
8、构造方法不但可以给对象的属性赋值,还可以保证给对象的属性赋一个合理的值。
public 构造函数名(){
}
封装:
封装的概念:
封装就是将信息隐藏在类的内部,不允许外部程序直接访问,问是通过该类提供的方法(成员函数)来实现对隐藏信息的操作和访问。
封装的实现步骤
a.修改属性的可见性—>设为private
b.创建getter/setter方法—>用于属性的读写
c.在getter/setter方法中加入属性控制语句—>对属性值的合法性进行判断
修改属性的值使用set,get方法来实现,并不是唯一的方法。但就编程规范而言,一般选择使用set,get方法。
继承:
子类(派生类)继承父类(基类)。
Java 是单继承的类,一个类只有一个父类;
继承的关键字 extends
用法:class 子类 extends 父类{},但是父类中private修饰的不可被继承。
多态的概念
多态(polymorphism)
可以理解为多种状态或多种形态。
大类型兼容小类型
多态的存在要有3个必要条件:
要有继承,要有方法重写,父类引用指向子类对象。