面向对象_继承总结
2016-10-03 00:08
197 查看
1:如何制作帮助文档(了解) (1)写一个类 (2)加入文档注释 (3)通过javadoc工具生成即可 javadoc -d 目录 -author -version ArrayTool.java 2:通过JDK提供的API学习了Math类(掌握) (1)API(Application Programming Interface)(面试题) 应用程序 编程 接品(帮助文档)//面试题:什么是API是谁的缩写 (2)如何使用呢? 2.1:打开帮助文档 2.2:点击显示,找到,索引,看到输入框 2.3:知道你要找谁?以Scanner举例 2.4:在输入框内输入Scanner,然后回车 2.5:看包 java.lang包下的类不需要导入,其他的全部需要导入。 要导入: java.util.Scanner 2.6:再简单的看看类的解释后说明,别忘了看看该类的版本 2.7:看类的结构 成员变量 字段摘要 构造方法 构造方法摘要 成员方法 方法摘要 2.8:学习构造方法 A:有构造方法 创建对象 Scanner sc = new Scanner(System.in) int i = sc.nextInt(); B:无构造方法 成员可能都是静态的 类名.方法名(); 2.9:看成员方法 A:左边 是否静态:如果静态就通过类名调用 返回值类型:人家返回什么,你就用什么接收 B:右边 看方法名:方法名称不能写错 看参数列表:人家要什么你就给什么,人家要几个你就给几个 (3)Math类 A:是针对数学进行操作的类 B:没有构造方法,因为它的成员都是静态的 C:产生随机数 public static double random():[0.0,1.0] D:如何产生一个1-100之间的随机数呢 int number = (int)(Math.random()*100)+1; System.out.println("num:"+number); E:猜数字小游戏 3:代码块(理解) (1)用{}括起来的代码。 (2)分类 A:局部代码块: 用于限定变量的生命周期,及早释放,提高内存利用率。 B:构造代码块: 把多个构造方法中相同的代码可以放到这里,每个构造方法执行前,首先执行构造代码块 C:静态代码块: 对类的数据进行初始化,仅仅只执行一次。 (3)静态代码块,构造代码块,构造方法的顺序问题?(面试题) 静态代码块 > 构造代码块 > 构造方法 4:继承(撑握) (1)把多个类中相同的成员给提取出来定义到一个独立的内中。然后让这多个类和该独立的类产生一个关系, 这多个类就具备了这些内容。这个关系叫继承。 (2)Java中如何表示继承呢?格多是什么呢? A:用关键字extends表示 B:格式是: class 子类类 extends 父类名{} (3)继承的好处: A:提高了代码的复用性 B:提高了代码的维护性 C:让类与类产生了关系,是多态的前提。 (4)继承的弊端 A:让类的耦合性增强。这样某个类的改变,就会影响其它的和该类相关的类。 设置原则:低耦合,高内聚 耦合:类与类的关系 内聚:自已完成某件事的能力 B:打破了封装性 (5)Java中继承的特点 A:Java中只支持单继承 B:Java中可以多层(重)继承(继承体系)。 (6)继承的注意事项: A:子类不能继承父类的私有成员 B:子类不能继承父类的构造方法,但是可以通过super去访问 C:不要为了部分功能而去继承 (7)什么时候使用继承呢? A:继承体现的是:is a的关系。 B:采用假设法 例:猫与狗is a动物(猫与狗他们是一种动物) (8)Java继承中的成员关系 A:成员变量 a:子类中成员变量名称和父类中的成员变量名称不一样,这个太简单 b:子类中成员变量名称和父类中的成员变量名称一样,这个怎么访问呢? 子类的方法访问成员变量的查找顺序: 在子类方法的局部范围找,有就使用。 在子类的成员范围找,有就使用。 在父类的成员范围找,有就使用。 找不到,就报错。 B:构造方法 a:子类的构造方法默认会去访问父类的无参构造方法 是为了子类访问父类数据的初始化 b:父类中如果没有无参构造方法,怎么办? 子类通过super去明确调用带参构造。 子类通过this调用本身的其它构造,但是一定要有一个去访问父类的构造。 让父类提供无参构造。 C:成员方法 a:子类中成员方法名称和父类中的成员方法名称不一样,这个太简单 b:子类中成员方法名称和父类中的成员方法名称一样,这个怎么访问呢? 通过子类对象访问一个方法的查找顺序是: 在子类中找,有就使用 在父类中找,有就使用 找不到,就报错 (9)两个面试题: A:Override和Overload的区别?是否可以改变返回值 方法重写: 在子类中,出现和父类中一模一样的方法声明的现象。 方法重载: 同一个类中,出现方法名相同,参数列表不同的现像 方法重载能改变返回值类型,因为它和返回值类型无关。 Override:方法重写 Overload:方法重载 B:this和super区别和各自的作用? this:代表当前类的对象引用 super:代表父类存储空间的标识。(可以理解为父类的引用,通过这个东西可以访问父类的成员) 场景: 成员变量: this.成员变量 super.成员变量 构造方法: this.(...) super.(...) 成员方法: this.成员方法 super.成员方法
相关文章推荐
- 黑马程序员—java面向对象总结(3)—面向对象继承、多态特性
- JAVA面向对象初步知识总结:封装、继承、多态
- 面向对象__阶段总结__【覆盖与重载的区别】【继承,多态的一些细节】
- 黑马程序员《java基础总结(三)》(面向对象特点--继承)
- 黑马程序员 面向对象特征 封装、继承、多态总结
- 黑马程序员_java面向对象总结【3】(继承、接口和多态)
- JAVA面向对象知识点总结(5)— 继承
- Javascirpt 面向对象总结-继承
- 面向对象继承总结:拷贝继承、类式继承和原型继承
- 面向对象总结 继承、多态、抽象类
- C++总结之继承和面向对象的设计
- C#基础总结之八面向对象知识点总结-继承与多态-接口
- 面向对象基础知识(二)-类的继承
- JavaScript 面向对象程序设计(下)——继承与多态
- 面向对象的设计法则(1)——优先使用(对象)组合,而非(类)继承
- 关于面向对象设计中继承与组合的选择
- 【转】使用组合替代继承(面向对象软件设计的“开—闭”原则 )
- ASP.NET AJAX的面向对象思想--访问修饰与继承
- 关于javascript语言的继承、面向对象问题的文章
- 面向对象设计三大原则(封装变化点,对接口进行编程,多使用组合而不是继承)