面向对象_继承总结

64 篇文章 0 订阅
53 篇文章 0 订阅
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.成员方法
					

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值