一: 面向对象的特征一:封装与隐藏
问题:当创建了类的对象以后,如果直接通过“对象.属性"的方式对相应的对象属性赋值的话,可能会出现不满足实际情况的意外,我们考虑不让对象来直接作用属性,而是通过"对象.方法"的形式,来控制对对象属性的访问,实际情况中,对属性的要求就可以通过方法来体现。
解决方法:将类的属性私有化,提供公共的方法(set & get)来实现调用。
二:权限修饰符 private 缺省(default) protected public 可以用来修饰属性,方法,类只能用pubilc和缺省修饰
三:类的成员:构造器
construct:建造者
构造器的作用:1:创建对象。2:给创建的对象属性赋值。
1:若不显示的声明类的构造器的话,程序会默人提供一个空参的构造器。
2:一旦显示的定义了一个构造器,那么默认的构造器不再提供。
3:如何声明类的构造器。格式:权限修饰符 类名(形参){ };
4:类的多个构造器之间构成重载。
四:this
1.可以用来修饰属行、方法、构造器
2.this理解为当前对象或当前正在创建对象
3.可以在构造器中通过"this (形参)"的方式显示的调用本类中其他重载的指定构造器
要求:1.在构造器内部必须声明在首行
2.若一个类中有n个构造器哦,那么最多有n-1个构造器中使用了this();
五:javaBean,具有一下标准的java类
1:类是公有的。
2:有一个无参的公共构造器。
3:有属性,有对应的get,set方法。
六:packae,源文件所在的包,写在程序的第一行。
每“.”一次,表示一层文件目录。
import:
1)显示导入指定包下的类或接口
2)写在包的声明和源文件之间
3)如果需要引入多个类或接口,就并列写出
4)如果导入的类是java.lang包下的,如:System, Math, String等,就不需要显示的声明。
5)理解.*的概念,比如java.util.*。
6)如何处理同名类的导入。如:在util包和sql包下同时存在Date类。
7)import static 表示导入指定类的static属性或方法。
8)导入java.lang.*只能导入lang包下所有类的接口,不能导入lang的子包下的类或接口
七:面向对象的特性二:继承性
1.为什么要设计继承性?
2.子类:A 父类(或基类SuperClass):B
3.子类继承父类以后,父类中声明的属性和方法,子类可以获取到。
明确:当父类中有私有的属性或方法是,子类同样可以获取到,只是有由于封装性的设计,是的子类不可以直接调用。
子类除了通过继承,获取父类的结构外,还可以定义自己的特有的成分。
extends:子类是对父类功能的“扩展”,明确子类不是父类的子集。
4.Java只支持单继承,一个类只能继承一个父类。但一个父类可以有多个子类
5.子类与父类是相对的概念。
八:方法的重写 修饰符 返回值类型 方法名 (参数列表){ }
1.前提:有子类继承父类
2.子类继承父类以后,若父类的方法对子类不适用,那么子类可以对父类的方法重写。
3.重写的规则: 1)要求子类方法的“返回值类型 方法名 (参数列表)"与父类方法完全一样
2)子类方法的修饰符不能小于父类方法中的修饰符
3)若父类方法抛异常,那么子类方法抛的异常不能大于父类
4)子父类方法必须同为static或非static
84课
------------------------------------------