java基础视频25days(毕老师)学习日志(day07、day08、day09、day10)

来源:互联网 发布:高效程序员秘籍 编辑:程序博客网 时间:2024/06/05 18:15

day07
★01  继承
注意:千万不要为了获取其他类的功能,简化代码而继承。
必须是类与类之间有所属关系才可以继承。所属关系is a。
★02  继承概述2
继承的意义
1,提高了代码的复用性。
2,让类与类之间产生了关系。
3,产生了多态

&赋值的疑问:将数字作为字符串进行赋值,name age
★03 聚集关系
1,变量
如果子类中出现非私有的同名成员变量时,
★04 子父类中的变量
子类要访问本类中的变量,用this
子类要访问父类中的同名变量,用super
super和this的使用几乎一致,
this代表的是本类对象的引用
super代表的是父类对象的引用。
★05 子父类中函数的特点。
当子类继承父类,沿袭了父类的功能到子类中,但是子类虽具备该功能,但是该功能却和父类不一致,这是没有必要定义新功能,而是使用覆盖特性,保留父类的功能定义并重写内容。
这种方式有利于功能扩展。

修改以往的源码,绝对是灾难。要改不会只改一片。
开始的时候,代码设计结构应合理,方便日后的扩展。
继承的特性可以应用在软件升级中。

覆盖:
1,子类覆盖父类,必须保证子类权限>=父类权限,否则编译失败。
2,静态只能覆盖静态。
3种权限:
private 空权限 public
记住:
重载:只看同名函数的参数列表。
重写:子父类方法要一样。(包括返回值类型)。
★06 构造函数的特点
★07
类的修饰符:
public 和 final,类是没有private的。
子类调用父类的函数:
调用构造函数:super(),调用一般函数super.
★08 面向对象抽象类
抽象类中可否不定义抽象方法?
可以的,作用:不让该类建立对象。
★12 接口
★13
因为没有方法主体,所以可以由子类任意定义。
类与类之间是继承关系
类与接口之间是实现关系
接口与接口之间是继承关系
★14 接口的特点:
接口能给我们带来哪些好处?


day08
★01 多态
动物都具备吃的行为。
★02  03
不可将父类对象转成子类类型。
我们能转换的是父类应用指向了自己的子类对象时,该应用可以被提升,也可以被转换。
多态自始至终都是子类对象在变化。
instanceof  判断 某一个对象属于何种类型时使用。
★04
★05
方法区的
 非静态区:this super
  静态区:Fu. Zi.  static
静态方法本身不访问对象特有数据。
动态绑定和静态绑定。
多态参考类,静态参考指向对象。
静态绑定的是静态绑定   非静态绑定的是动态绑定。

&父类引用指向子对象对于静态方法调用的时候,是不一样,父类走父类,子类走子类。
★06
接口型引用指向自己的子对象。
★07
接口的出现
DAO
Data Access object
★08
接口降低了耦合性,提高了扩展性,制定了规则。

 

day09
★01 02
★03 面向对象(内部类的定义原则)
★04
局部内部类不可以定义静态成员。
非静态:没对象,不运行。
但凡看到匿名内部类,那是一个子类对象,是把定义类和建立对象封装一体的表现形式。
视频:44:20的匿名内部类练习,需要做。
★05  异常机制
getMessage();
toString();
printStackTrace();
throws Exception
ArrayIndexOutOfBoundsException
★09

★11

如果在函数内容抛出该异常,函数上可以不用声明,编译一样通过。

如果在函数上声明了该异常,调用者可以不用进行处理,编译一样通过。
按理说,调用了一个抛出异常的方法,应该用try和catch的方法处理。
NullpointerException       空指针异常
IndexOutOfBoundsException  角标越界

父类:RuntimeException 一个特殊的子类异常。
自定义异常时;如果该异常的发生,无法再继续进行运算,
就让自定义异常继承RuntimeException。
timeout  超时
这个方法在定义的时候,抛出了异常,
对于异常,分两种:
1,编译时被检测的异常
2,编译时不被检测异常(运行时异常,RuntimeException及其子类)

★12  通过一个实例,异常的应用。
throw下面不应再写语句,和return一样,它们是函数结束的标识。


day10
★01
finally 中一定会被执行的代码。
finally代码块:定义一定执行的代码。
通常用于关闭资源。
连接数据库
数据操作  throw new SQLException();
关闭数据库  该动作,无论数据操作是否成功,一定要关闭资源。

模块化式开发,
★02 异常处理的其他语句
catch是用来处理异常的,
没有catch就是没有处理异常。如果该异常是检测时异常,则必须声明。
不让子类抛新异常,只能抛现有的异常。
★03

★04  练习
异常的产生可以将正常流程和问题处理代码相分离,这就是它的好处。
异常是java当中非常重要的机制。碰到问题就用异常来描述。

★05 异常 总结
System.exit(0);  系统推出。

★06 面向对象 :练习(重要)需要自己练习并熟练;
★07 包的set classpath
★08
不同包中的类,如何访问?
protected
总结:
  包与包之间进行访问,被访问的包中的类以及类中的成员,需要public修饰。
   不同包中的子类,还可以直接访问父类中被protected权限修饰的成员。
   包和包直接可以使用的权限只有两种:public protected.

              public  protected   default(默认权限) private

同一个类中      ok     ok           ok                    ok
同一个包中        ok     ok          ok
子类             ok      ok           ng 
不同包中        ok      ng           ng                   ng
★09
为了简化类名的书写,使用一个关键字,import

import导入的是包中的类。
建议,不要写通配符*,需要用到包中的哪个类,就导入哪个类。

package import 不用写,高级编译器:eclipse

写包名,为了尽量避免类名重复
定义包名不要重复,可以使用url来完成定义,url是唯一的。

www.itcast.cn
package cn.itcast.demo
package cn.it cast.test
包的取名。

★10 jar 压缩包;
jar -cf haha.jar packa pack
阿帕奇网站,提供了对java对象又进行简单封装的常用工具,比如说客户端工具。

java collection framework  java集合框架

ctrl+c 强制结束打印。
cd\  回根目录;
数据重建像
jar -tf a.jar>c:\1.txt、
jar
运行时期找不到类,报错。
JDK里面全部是编译工具,
java 的JDK里面必须内置一个jre
src.zip  java 所有的类文件。
linux开源。
registerNatives  注册
静态代码块。
native  本地方法。
5片内存区:栈、寄存器,堆,方法区、本地方法区

原创粉丝点击