您好,欢迎访问三七文档
1.staticfinal:1)必须声明的同时初始化,不能修改,类名点来访问2)建议:常量名所有字母大写3)编译器在编译时被直接替换为具体值--效率比较高2.抽象方法1)由abstract修饰2)只有方法的定义没有方法的实现(没有大括号)3.抽象类1)由abstract修饰2)包含抽象方法的类必须是抽象类不包含抽象方法的类也可以声明为抽象类3)抽象类不能被实例化(不能new对象)4)抽象类需要被继承的--子类4.1)重写所有的抽象方法--建议4.2)声明为抽象类--不建议5)抽象类的意义5.1)封装所有子类所共有的数据和行为实现代码的重用5.2)为所有子类提供了一种公共的类型(相似造型)5.3)包含抽象方法,为所有子类通过统一的入口4.接口:1)是一个标准,是一个规范遵守了这个标准就能干某件事2)由interface定义3)只能包含常量和抽象方法4)接口不能被实例化5)接口需要被实现(implements)的,实现类必须重写接口的所有方法6)一个类可以实现多个接口,用逗号分隔若继承又实现时,必须先继承后实现7)接口之间可以继承7.1)类和接口之间为实现(implements)7.2)接口与接口之间为继承(extends)7.3)类和类之间为继承(extends)作业1.abstractclassVehicle{publicintspeed(){return0;}}classCarextendsVehicle{publicintspeed(){return60;}}classRaceCarextendsCar{publicintspeed(){return150;}}publicclassTestCar{publicstaticvoidmain(String[]args){RaceCarracer=newRaceCar();Carcar=newRaceCar();Vehiclevehicle=newRaceCar();System.out.println(racer.speed()+,+car.speed()+,+vehicle.speed());}}上述代码运行的结果是A.0,0,0B.150,60,0C.150,150,150D.抛出运行时异常子类可以重写(覆盖)继承自父类的方法,即方法名和参数类表与父类的方法相同,但方法的实现不同,当子类对象重写方法被调用时(无论通过子类的引用调用还是通过父类的引用调用),运行是子类重写后的版本2.简述抽象类的意义抽象类的意义在于:为其子类提供一个公共的父类型,避免该类被实例化封装子类中的重复内容(成员变量和方法)定义公共抽象方法,由子类提供不同的实现3.关于接口和抽象类,下列说法正确的是A.抽象类和接口都不能实例化。B.接口里只能包含抽象方法,抽象类则可以包含普通方法。C.接口里不包含构造器,抽象类里可以包含构造器。D.一个类只能实现一个接口抽象类和接口都不能被实例化对象,用于被其他类继承和实现。接口只能包含抽象方法,抽象类则可以包含普通方法和抽象方法。接口里步包含构造器;抽象类类可以包含构造器,抽象类里的构造器并不是用于传见对象,而是让其子类调用这些构造器来完成属于抽象类的初始化操作。一个类只能有一个直接父类;但一个类可以实现多个接口,实现多继承。
本文标题:面向对象的基础知识
链接地址:https://www.777doc.com/doc-1960740 .html