码迷,mamicode.com
首页 > 编程语言 > 详细

java 学习

时间:2016-08-15 06:36:33      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

有是一周归纳下知识记录下点点滴滴。

继承:is a :如果a是b,a和b是继承关系;a继承b,b派生a,a是b的子类,b是a的父类。  如果a继承b则a会继承b的所有的公共成员。

a继承b,定义a类时,class a extends b。

当创建一个子类时会先运行父类的构造函数。super 关键字 父类。

重写和重载的区别:重写(override)子类重新实现父类的方法;重载(overload)在一个类中可以出现多个同名方法,只要参数列表不同。

继承的传递性:a是b的父类,b是c的父类则a是c的父类。

继承的单根性:一个类有且只有一个直接父类若没有手动书写父类则父类为object(所有类的父类)。

boolan  equals (object)比较的是两个对象,他默认实现直接比较地址。

String to String 将当前对象转为字符串格式,他的默认实现,是类的全拼接@在拼接对象地址的哈希值。

转型:向上转型子类的对象可以传递给父类类型,而不需要额外的代码也叫做里氏替换原则;向下转型将父类类型转为子类类型,该转换是不安全的需要强制转换 向下转换格式      instanceof关键字 A instanceof B A是不是 B A是对象 B是类型。

当使用一个变量时只能使用他声明类型的成员 ,在使用过程中 ,调用的真实类型的成员。

多态:当时用父类成员时仅需要知道声明类型即可不需要真实类型, 把子类当父类来操作。

抽象类:表示一个抽象概念, 不允许创建其对象 ,抽象类使用关键字 ,abstract 修饰。

抽象方法:用 asbstract 来修饰该方法 没有方法体, 子类必须写重写 ,抽象方法必须写抽象方法。

接口:是一个抽象体 纪录了一些抽象方法。

一个类可以实现一个或多个接口 ,当实现接口时必须实现接口的所有抽象方法。 implements 关键字表示实现接口。

接口在使用上,可以把接口看作是实现类的父类。

接口描述的是行为,是对行为的抽象,抽象描述的是某个类属于什么。

一个类只能继承一个抽象类但可以实现多个接口。

抽象类中可以有非抽象方法,但接口只能有抽象方法。

开发流程;1 抽取实体类  2抽取接口 3 实现接口。

访问修饰符:public 公共的  ,共有的所有累都可以访问;private 私有的,只有自身可以访问;default 默认修饰符不需要手动书写,同一个包中类可以访问;protected 受保护的,同一个包中的类或子类可以访问。

静态:static 可以用于修饰类中的成员,他修饰的成员叫静态成员,静态成员使用 类名.成员名。静态成员被所有对象共享。 

通常把非静态的成员叫做实例(对象)对象名.成员名调用。

在实例方法中可以使用静态成员,在静态方法中仅能使用静态成员。

如果一个类跟需求无关,并且该类只有方法没有属性可以考虑将所有方法写成静态,以方便调用。构造函数重载:如果需要一个构造函数中调用自身的另一个构造函数,可以用关键字 this。

final 关键字:可以用于修饰 变量、属性、方法类;修饰变量和属性时是一个常量一旦赋值永久不变;修饰方法时该方法不能被子类重写;修饰类时该类不能被继承。

通常属性是静态的,常量名通常全部大写。

堆:一块内存区域,该区域理论上无限大,应用于存放对象;栈:一块内存区域,容量固定有限,用于存放变量、参数。

死循环不会导致程序崩溃,应为每次循环执行后作用于的变量都会从内存中移除;无限递归会导致程序崩溃,崩溃的原因是栈的空间被耗尽。

垃圾回收器会定期清理。

静态初始化块第一次使用该类时运行;实力初始化块创建对象时在构造函数前运行。

内部类:静态内部类,局部内部类,成员内部类,匿名内部类。

面向对象是一种思想,将世间万事万物看作对象。

OOA:面向对象分析使用OO的思想分析需求。

OOD:面向对象的设计使用OO的思想设计程序结构。

OOP:面向对象的编程,使用OO的是想做程序开发。

面向对象的过程更加关心程序的流向而不是类型。

面向对象更加关心程序中的类型和数据而不是程序的流向。

面向对象的优势:能够开发出更加易读的代码,使整个程序更加容易扩展。

面向对象的劣势:执行效率低,会编写结构更加复杂的代码。

API:Application Progamming Int
1.常量池:一块内存空间,java编译源代码时,会发现源代码中的字符串以及基本类型的常量编译器会将其放入常量池、一旦赋值内容固定不变
2.stringbuffer类:用于写字符拼接、不修改等操作

1.在方法异常:是指在方法的运行过程中出现了该方法无法处理的问题,异常在程序中表现为一个类的对象,所有的异常类都继承throwable

2.引发异常(抛出异常)当一个方法出现了无法处理的情况,可以考虑抛出异常,抛出异常将导致当前方法立即结束,将该异常对象扔给方法的调用者。

3.当异常到达java虚拟机一定会处理异常,他的处理方法是在控制台输出异常信息,然后立即结束整个程序。

4.处理异常也叫做捕获异常:try{代码1这里的代码往往写会出问题的代码,受保护的代码}
catch(代码异常类型、变量名){代码2}
finally{代码3}
代码1如果有问题立刻终止try,转而运行代码3,最后运行代码3,代码1没问题,运行完代码1后,运行代码3。

5.throws关键字:用于在方法声明时‘声明该方法有可能会抛出异常,让调用者看到异常。

6.finally中的代码无论如何都会执行。

7.Exception:所有检查父类(受检异常、check异常)类的父类
jError:表示错误异常的父类
RuntimeException:所有运行异常的父类

Error表示错误,这种异常通常无法处理
Exception:检查异常,这种异常开发者不能忽视
RuuntimeException:运行时异常,这种异常可以忽视

getMessage()详细描述
toString()简短描述
getStackTrace()打印堆栈信息

8.throw new 语句()异常对象;//这句话会引发异常
抛出异常的时机:当写一个方法体时,遇到了无法处理的问题,抛出异常。
处理异常时机:当调用一个方法时,若该方法可能引发一个异常,但调用着知道如何处理异常,则处理异常。

9.如何抛出自定义异常类:

 

java 学习

标签:

原文地址:http://www.cnblogs.com/zhuangchengfei/p/5771520.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!