1.面向对象语言特点:封装,继承,多态
2.继承
(1)从已有类创建新类的过程
(2)分为父类和子类
父类:又名超类或基类,是指提供继承信息的类
子类:又名派生类,是指得到继承信息的类
(3)关键字“extends”表示继承,后面紧跟父类的名字
(4)重写:当一个子类继承了父类时,可以直接使用父类的属性和方法。如果父类的方法无法满足子类的需求,则可以在子类中对父类的方法进行改造,也称作重写
(5)方法重载
在Java程序中,如果同一个类中存在两个方法同名,方法的签名(参数个数、参数类型、类型排列次序)上也一样,将无法编译通过。但在
Java中多个方法重名是允许的,只要保证方法签名不同即可,这种特性称为方法重载(overload)。
方法重载需遵循如下两条规则:
•方法名相同
•参数列表(个数、类型、顺序)不同;
注意:返回值不影响方法重载。构造方法也可以重载
3.封装
(1)隐藏一切可隐藏的实现细节提供简单的编程接口,对外形成一个边界,只保留有限的对外接口使之与外部发生联系
(2)使对象以外的部分不能随意存取对象的内部数据,从而有效地避免了外部错误对它的“交叉感染”
4.类
(1)类是对像的模板,而对象就是类的一个实例,类由属性和方法构成(对象的特征在类中表示为成员变量,称为类的属性;类的方法是对象执行操作的一种规范)
(2)类的构造方法
1.构造方法是一种特殊的方法,在对象被创建时用来初始化对象;
2.它具有和它所在的类完全一样的名字
3.构造方法和类的方法类似,只不过构造方法没有返回类型;
4.构造方法的任务是初始化一个对象的内部状态
5.如果在Java程序中没有定义任何的构造方法,则编译器将会自动加上一个不带任何参数的构造方法即缺省构造方法。该方法不存在于源程序中,但可以使用
(3)this对象的使用
this关键字代表当前所在类的对象,即本类对象,用于解决变量的命名冲突和不确定性问题;在没有同名的情况下,可以直接使用属性的名字。
(4)参数传递
按值传递
按值传递(call by value),将要传递的参数的值传递给被调方法,被调方法通过创建一份新的内存拷贝来存储传递的值,然后在内存拷贝上
进行数值操作,所以按值传递不会改变原始参数的值。一般传递的参数为基本数据类型(数值,字符)会自动采用按值传递
(5)引用传递
引用传递是将参数的引用传递给被调方法,被调方法通过传递的引用值获取其指向的内存空间,从而在原始内存空间上直接进行操作,即
参和形参指向内存中同一空间。一般传递的参数为对象时会自动采用引用传递
5.访问修饰符
Java中定义了private(私有的)、protected(受保护的)和public(公共的)的访问修饰符,同时也定义了一个缺省的访问级别,用于声明类、属性、方法的访问权限。明确访问修饰符的限制是用好“封装”的关键;
(1)使用public访问修饰符。类的成员可被同一包或不同包中的所有类访问,也就是说,public访问修饰符可以使类的特性公用于任何类;
(2)使用protected访问修饰符允许类本身、同一包中的所有类和不同包中的子类访问:
(3)如果一个类或类的成员前没有任何访问修饰符时,默认为friendly,它们获得缺省的访问权限,缺省的可以被同一包中的其他类访问;
(4)private访问修饰符是限制性最大的一种访问修饰符,被声明为private的成员只能被此类中的其他成员访问,不能在类外看到



