一、Java作为一种面向对象语言。支持以下基本概念:
多态 、继承 、封装 、抽象 、类 、对象 、实例 、方法 、消息解析
二、对象和类的概念。
类:类是一个模板,它描述一类对象的行为和状态。
对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有: 颜色、名字、品种;行为有:摇尾巴、叫、吃等。
三、Java中的对象
- 创建对象:对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。 创建对象需要以下三步:
声明:声明一个对象,包括对象名称和对象类型。
实例化:使用关键字new来创建一个对象。
初始化:使用new创建对象时,会调用构造方法初始化对象。
格式:classTpye 对象名称 = new classTpye();
例子:
public class Puppy{
public Puppy(String name){
//这个构造器仅有一个参数:name
System.out.println("Passed Name is :" + name );
}
public static void main(String []args){
// 下面的语句将创建一个Puppy对象
Puppy myPuppy = new Puppy( "tommy" );
}
}
- 通过已创建的对象来访问成员变量和成员方法,如下所示:
/* 实例化对象 */
ObjectReference = new Constructor();
/* 访问其中的变量 */
ObjectReference.variableName;
/* 访问类中的方法 */
ObjectReference.MethodName();
-
重写(Override)
重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和 形参都不能改变。即外壳不变,核心重写!
.重写的好处在于子类可以根据需要,定义特定于自己的行为。也就是说子 类能够根据需要实现父类的方法。
.重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。 例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写 这个方法的时候不能抛出 Exception 异常,因为 Exception 是
IOException 的父类,只能抛出 IOException 的子类异常。
方写重写的规则参数列表必须完全与被重写方法的相同; 返回类型必须完全与被重写方法的返回类型相同; 访问权限不能比父类中被重写的方法的访问权限更高。
例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected。
父类的成员方法只能被它的子类重写。
声明为final的方法不能被重写。
如果一个方法不能被继承,那么该方法不能被重写。
如果不能继承一个方法,则不能重写这个方法。 等等.......
-
重载(Overload)
重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回 类型,可以相同也可以不同。
.每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表. .只能重载构造函数.
重载规则被重载的方法必须改变参数列表; 被重载的方法可以改变返回类型; 被重载的方法可以改变访问修饰符; 被重载的方法可以声明新的或更广的检查异常;
方法能够在同一个类中或者在一个子类中被重载。