学习java第九天个人总结
Day09总结
1. Static
关键两个点: 1,关注其语法特点 2,关注其使用场景 静态的使用: l 静态变量 静态变量所有对象共享一份,非静态的成员变量,每个对象独享一份 l 静态变量和普通成员变量的区别(局部变量和成员变量的区别) n 归属不同 u 成员变量:对象 u 静态变量:类 n 调用的方式不同 u 成员变量:对象.成员变量 u 静态变量:类名.静态变量 n 内存出现的时机不同 u 成员变量:对象创建 u 静态变量:load 类的字节码文件,优先于成员变量 n 内存的位置不同 u 成员变量:堆 u 静态变量:方法区-静态区 l 静态代码块 执行时机:当我们的类被加载的时候就会被执行,不管是否创建对象 执行次数:整个过程仅执行一次,不管创建多少对象都只执行一次 l 静态方法 可以通过对象或者类名来调用,但是建议用类名来调用 静态: * 1,静态变量,所有对象共享一份,访问方式:类名.变量名 * 2,静态代码块,类加载的时候就自动执行,而且只执行一次 * 3,静态方法,访问方式:类名.方法名() |
1. 继承-语法
l 继承解决了什么样的问题? 解决 l Java里面实现继承的语法是怎么样的? 案例分析: 开发一个学员管理系统,这里面会涉及到老师和学生的角色,我们来看看这里面会出现什么问题? 2个小目标: 1,掌握继承的基本使用 2,掌握继承的语法细节(笔试题) l 分析一个子类的实例化过程?跟父类有什么样的关系?从构造方法来观察 l 总结继承中,构造方法的注意事项(Super关键字的使用) l Java不支持多继承,但支持多重继承,何为多重继承? 问题: 1,继承,构造方法会不会被继承? 2,说说this和super的区别? |
2. 继承-方法的重写
为什么会有方法重写? 学生和老师都有自己各自独特的特性,这个时候父类的展示信息方法不能满足子类的需求 练习: 学生类和老师类分别重写其父类的showInfo方法 方法重写要注意的规则 @Override注解的作用 经典面试题: 重写和重载的区别?Override vs overload 重写: 重写,出现在父类和子类之间 重写的方法方法名,参数,返回值类型都要一样,访问权限只能大于或等于父类的访问权限 重载: 重载,出现在同一个类里面,方法名要一样,参数列表不同 |
3. 继承-不得不说的Object
从Object的两个方法来说重写,一个是toString(),一个是equals() 案例一: String s = “haha”; System.out.println(s); Student stu = new Student(“zhangsan”); System.out.println(stu);
案例二:equals
经典面试题: ==和equals的区别 |
4. Final
首先,掌握final关键字的特性,最终的 (1),修饰类:类将不能被继承 (2),修饰属性:把变量变成常量,存储着一堆常量的类,我们就称为常量类 (3),修饰方法:控制方法不能被覆盖 其次,掌握在其实际开发中的应用 完善制作工具类 |
5. 包
基本作用 最基本的作用:避免类重名的问题 项目开发中的作用: 更好来管理我们的类和文件,同时更好让多人协助开发 延伸问题: 包名本身如何确保唯一性 域名倒过来:com.baidu.部门名称.项目名称 |