Java学习day6
来源:互联网 发布:粉红色的火烈鸟 知乎 编辑:程序博客网 时间:2024/05/29 18:34
1.把构造方法私有,外界就不能再创建对象了
2.如何制作说明书:
(1)写一个工具类
(2)对这个类加入文档注释
(3)用工具解析文档注释:用Javadoc工具、格式:javadoc -d目录 -author -version HelloWorld.java 、目录就写一个文件夹路径就可以了
3.注意:java.lang下的包不需要导入,其他的全部需要导入、要看版本
4.帮助文档:
(1)学习构造方法:有构造方法--就创建对象、没有构造方法--成员可能都是静态的
(2)学习成员方法:左边--是否静态,如果静态就通过类名调用、返回值类型;右边--注意方法名和参数列表
5.猜数字小游戏:
(1)程序产生一个随机数
(2)键盘录入数据
(3)把你猜的和被猜的进行比较
(4)给出多次猜的机会,猜中就结束---while循环,猜中就break
6.代码块:
(1)局部代码块:局部位置,用于限定对象的生命周期
(2)构造代码块:在类中的成员位置,调用构造方法执行前会先执行构造代码块,作用是可以把多个构造方法的共同代码放到一起,对对象进行初始化
(3)静态代码块:在类中成员位置,用static修饰,作用是对类进行初始化
(4)静态代码块,构造代码块,构造方法执行顺序:静态代码块--构造代码块--构造方法;
(5)静态代码块只执行一次,构造代码块每次调用方法都执行
7.继承:
(1)优点:提高代码复用性、维护性、多态的前提
(2)缺点:类的耦合性增强
(3)开发原则:低耦合,高内聚
(4)耦合:类与类的关系
(5)内聚:自己完成某件事情的能力
9.Java中继承的特点:
(1)Java只支持单继承,不支持多继承(有些语言是支持多继承的,格式:extends类1,类2)
(2)Java支持多层继承(继承体系)
10.继承的注意事项:
(1)子类只能继承父类所有非私有的成员(成员方法和成员变量),不能继承私有成员
(2)子类不能继承父类的构造方法,但是可以通过super去访问父类的构造方法
(3)不要为了部分功能而去继承
11.什么时候使用继承:采用假设法-----继承体现的是一种关系(is a)
12.继承中成员变量的关系
(1)子类中的成员变量和父类中的成员变量名称不一样
(2)子类中的成员变量和父类中的成员变量名称一样(就近原则)
13.this和super的区别:
(1)this代表本类对应的引用
(2)Super代表父类存储空间的标识(可以理解为父类引用,可以操作父类的成员)
(3)用法:调用成员变量、调用构造方法、调用成员方法
14.继承中构造方法的关系
(1)子类中所有的构造方法默认都会访问父类中空参数的构造方法
(2)原因:子类会继承父类中的数据,可能还会使用父类的数据,所以子类初始化之前,一定要先完成数据的初始化
(3)注意:子类每一个构造方法的第一条语句默认都是super();
(4)解决办法:在父类中添加一个无参构造方法;通过使用super关键字显示调用父类的带参构造方法;子类通过this去调用本类的其他构造方法,子类中一定要有一个去访问了父类的构造方法,否则父类数据就没有初始化
(5)注意事项:this或者super必须出现在第一条语句上,如果不放在第一条语句上,就可能对父类的数据进行了多次初始化,所以必须放在第一条语句上
16.方法重写的注意事项:、
(1)父类中的私有方法不能被重写----因为父类私有方法子类无法继承
(2)子类重写父类方法时,访问权限不能更低(最好一致)
(3)父类静态方法,子类必须是静态方法进行重写(多态)
(4)子类重写父类方法的时候,最好声明一模一样
17.方法重写和方法重载的区别:
(1)方法重写:在子类中,出现和父类一模一样的方法声明的现象
(2)方法重载:同一个类中,出现的方法名相同,参数列表不同的现象,能改变返回值类型,因为它和返回值类型无关
18.总结:
(1)如何制作帮助文档
(2)学习使用JDK提供的API(Application Programming Interface)
(3)代码块
(4)继承
- java学习笔记day6
- Java 学习Day6
- java学习day6
- Java学习--day6
- Java学习day6
- 黑马程序员 java学习笔记 Day6:GUI
- 安卓学习记录-java-day6
- Android学习之Java基础篇day6
- Java Day6
- java day6
- Java day6
- Java day6
- CCNA学习笔记Day6
- Android学习笔记day6
- Python学习记录day6
- Python学习日记,Day6
- python学习日志--day6
- 码神-day6-java
- NIS安装配置备忘
- JAVA虚拟机系列(七)
- 计算机系统结构-延迟转移
- 算法题目---包含min函数的栈
- Java自动装箱/拆箱
- Java学习day6
- Linq语法详细
- JAVA虚拟机系列(八)
- lintcode--二叉树的后序遍历
- linq join on 多条件
- java基础(三):移位符的运用
- 利用元素属性值进行排序的简单实例
- springmvc从数据库中读取数据并且显示成选择框工具类
- 详解MyBatis的动态SQL