java基础(5)-----接口,继承与多态
2018-03-13 22:38
429 查看
一:类的继承
1.子类继承父类的所有属性和方法。
2.子类可以重写(也就是覆盖)父类中的方法,若子类中的某方法和父类中的某方法,除了方法体外都相同,那称这种特殊的重写方法为重构。(当重写父类方法时,方法的权限只能从小到大)
3.子类可以增加父类中没有的属性和方法
4.子类最多只有一个父类。
5.子类在创建时,用extends关键字来继承父类。
例:class Test2 extends Test1{
}
6.当创建一个子类对象的饿时候,父类对象也会隐式被创建。(调用父类的构造方法)
二:Object类
1.所有的类都直接或间接的继承了Object类。
2.所有的类都源于java.lang.Object类。自定义的也是,只是在定义类的时候省略了extends Object。
3.Obeject中断主要包括clone(),finalize(),equals(),toString()等方法。这些方法常在自定义的类中被重写。
其中,equals()用来比较两个对象的内容是否相同
toString()方法用来将此对象打印出来,通常在System.out.print();的时候加上此对象会自动调用此方法。
4.Object中的getClass(),notify().notifyAll(),wait()等方法不能被重写。这些方法被定义为final类型。
三:对象的类型转换。
1.向上级转型。(指的是子类对象向父类对象转换)
2.向下级转型。(父类对象向子类对象转换)
(1)必须要显示转换(强转)不能直接赋值
class1 q = p; //错
class1 q = (class1)p;//对
(2)当父类对象不是由这个子类对象转换过去的时候(父类对象不是该子类对象的实例)。将这个父类对象强转为此子类对象,就会发生ClassCastException异常。
(3)使用instanceof操作符可以判断对象类型。此操作符,在向下转型的时候使用。
使用例子:if ( myobject instanceof ExampleClass).判断myobject是否是exampleClass类型的对象。
四:方法的重载
参数类型不同构成重载。
五:多态
子类继承父类。
定义一个函数,该函数的参数是父类对象。
那么,就可以调用此方法,用他的各个子类作为传入参数。
那么就可以在此函数中,根据不同的对象来处理不同的事。就叫多态。
六:抽象类和接口
1.抽象类的定义:
public abstract class Test{ //定义抽抽象
abstract void testAbstract()://定义抽象方法。
}
2.不能在否抽象类中定义抽象方法。
3.抽象类不能实例化对象。
4抽象方法没有方法体。
5.抽象类被继承后必须实现其中所有的抽象方法。
当抽象类中某些方法并不是所有继承它的子类都需要这个方法的时候,接口的概念就出现了。
将此方法定义在接口中,需要此方法的类再继承该接口。
接口:
1.使用interface关键字定义接口。
public interface drawTest{
void draw();//接口内的方法。省略了abstract关键字。
}
2.接口中的所有方法都没有方法体。
3.一个类继承一个父类和多个接口。
例:public class parallelogram extends Quadrangle implements drawTest{
...//
}
多态与接口的结合使用:
1.定义接口 A,接口中的方法 FF
2.定义类 B 继承 类 P 和接口 A
类中实现接口A中的方法FF
3.定义类 C继承 类 P 和接口 A
勒种实现接口A 中的方法FF
4.定义类 P
类P中定义类P的数组
NEW B 和 C的对象,作为 P数组中的组员。
依次调用数组成员中的方法FF
1.子类继承父类的所有属性和方法。
2.子类可以重写(也就是覆盖)父类中的方法,若子类中的某方法和父类中的某方法,除了方法体外都相同,那称这种特殊的重写方法为重构。(当重写父类方法时,方法的权限只能从小到大)
3.子类可以增加父类中没有的属性和方法
4.子类最多只有一个父类。
5.子类在创建时,用extends关键字来继承父类。
例:class Test2 extends Test1{
}
6.当创建一个子类对象的饿时候,父类对象也会隐式被创建。(调用父类的构造方法)
二:Object类
1.所有的类都直接或间接的继承了Object类。
2.所有的类都源于java.lang.Object类。自定义的也是,只是在定义类的时候省略了extends Object。
3.Obeject中断主要包括clone(),finalize(),equals(),toString()等方法。这些方法常在自定义的类中被重写。
其中,equals()用来比较两个对象的内容是否相同
toString()方法用来将此对象打印出来,通常在System.out.print();的时候加上此对象会自动调用此方法。
4.Object中的getClass(),notify().notifyAll(),wait()等方法不能被重写。这些方法被定义为final类型。
三:对象的类型转换。
1.向上级转型。(指的是子类对象向父类对象转换)
2.向下级转型。(父类对象向子类对象转换)
(1)必须要显示转换(强转)不能直接赋值
class1 q = p; //错
class1 q = (class1)p;//对
(2)当父类对象不是由这个子类对象转换过去的时候(父类对象不是该子类对象的实例)。将这个父类对象强转为此子类对象,就会发生ClassCastException异常。
(3)使用instanceof操作符可以判断对象类型。此操作符,在向下转型的时候使用。
使用例子:if ( myobject instanceof ExampleClass).判断myobject是否是exampleClass类型的对象。
四:方法的重载
参数类型不同构成重载。
五:多态
子类继承父类。
定义一个函数,该函数的参数是父类对象。
那么,就可以调用此方法,用他的各个子类作为传入参数。
那么就可以在此函数中,根据不同的对象来处理不同的事。就叫多态。
六:抽象类和接口
1.抽象类的定义:
public abstract class Test{ //定义抽抽象
abstract void testAbstract()://定义抽象方法。
}
2.不能在否抽象类中定义抽象方法。
3.抽象类不能实例化对象。
4抽象方法没有方法体。
5.抽象类被继承后必须实现其中所有的抽象方法。
当抽象类中某些方法并不是所有继承它的子类都需要这个方法的时候,接口的概念就出现了。
将此方法定义在接口中,需要此方法的类再继承该接口。
接口:
1.使用interface关键字定义接口。
public interface drawTest{
void draw();//接口内的方法。省略了abstract关键字。
}
2.接口中的所有方法都没有方法体。
3.一个类继承一个父类和多个接口。
例:public class parallelogram extends Quadrangle implements drawTest{
...//
}
多态与接口的结合使用:
1.定义接口 A,接口中的方法 FF
2.定义类 B 继承 类 P 和接口 A
类中实现接口A中的方法FF
3.定义类 C继承 类 P 和接口 A
勒种实现接口A 中的方法FF
4.定义类 P
类P中定义类P的数组
NEW B 和 C的对象,作为 P数组中的组员。
依次调用数组成员中的方法FF
相关文章推荐
- Java基础-->面向对象<继承,内部类,多态,包,抽象与接口>
- 黑马程序员——Java基础---面向对象(继承、多态、抽象类、接口、内部类)
- JAVA基础知识:面对对象特性【继承】【 多态】【 封装】【 接口】
- Java基础——面向对象——继承、抽象类、接口、多态、包、内部类、异常等
- Java 基础一些代码练习笔记(继承+接口+多态)
- java基础(2)-基础类型和语法(static、内部类、final、抽象类、接口、封装)(并将这些基础知识与java的三大特征关联(继承、多态、封装))
- Java基础笔记-继承、抽象类、接口、多态、内部类、异常
- 黑马程序员-17-java基础-面向对象(3)-继承、抽象类、接口与多态
- 黑马程序员——Java基础---继承,抽象,多态,接口,包,内部类
- JAVA基础必备(九)——继承,封装,多态,抽象类,接口
- 黑马程序员 Java基础 面向对象:继承、final关键字、抽象类、模版方法模式、接口、多态、Object类
- Java基础之封装、继承、多态、接口详解
- 黑马程序员——Java基础:继承、final关键字、抽象、接口、多态
- 黑马程序员—————Java基础----继承、多态、抽象、接口
- 2018/01/07JAVA 基础 / 接口与继承:多态的概念、接口的意义是什么呢?
- java基础讲解09-----接口,继承,多态
- JAVA基础知识点(六)--接口,多态,继承,抽象类,重载的问题
- 1.Java基础-面向对象编程思想(封装继承多态接口)
- 黑马程序员——java基础——继承、抽象类、接口、多态
- Java基础笔记-继承、抽象类、接口、多态、内部类、异常