![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
J2SE巩固--java核心技术
ke-King
这个作者很懒,什么都没留下…
展开
-
基础巩固--方法参数
设计语言中将参数传递给方法的术语: 1,按值调用–表示方法接受的是调用者提供的值; 2,按引用调用–表示方法接受的是调用者提供的变量地址。JAVA程序设计语言总是采用按值调用。也就是说,方法得到的是所有参数值得一个拷贝,特别是,方法不能修改传递给它的任何参数变量的内容。方法参数类型: 一,基本数据类型public class Args { static int count = 10;原创 2017-11-20 21:51:17 · 308 阅读 · 0 评论 -
基础巩固--接口
本章记录一些接口的特性. 一.接口中定义的方法被默认的标记为public,域被默认的标记为public static final 二.在JavaSE8中,允许在接口中增加静态方法.只是这有违于将接口作为抽象规范的初衷. 目前为止,通常的做法都是将静态方法放在伴随类中.在标准类库中,经常有成对出现的接口和使用工具类,如Collection/Collections,Path/Paths. 三.原创 2018-01-28 10:31:08 · 149 阅读 · 0 评论 -
基础巩固--异常
Java语言规范讲派生于Error类或RuntimeException类的所有异常称为非受查异常,所有其他的异常称为受查异常。 一个方法必须声明所有可能抛出的受查异常,二非受查异常要么不可控制(Error),要么就应该避免发生(RuntimeException)。如果方法没有声明所有可能发生的受查异常,编译器就会发出一个错误消息。 注意:如果在子类中覆盖了超类的一个方法,子类方法中声明的受查异常不原创 2017-11-23 20:49:38 · 257 阅读 · 0 评论 -
基础巩固--堆栈轨迹
堆栈轨迹(stack trace)是一个方法调用过程的列表,它包含了程序执行过程中方法调用的特定位置。 可以调用Throwable类的printStackTrace方法访问堆栈轨迹的文本描述信息。Throwable t = new Throwable(); StringWriter out = new StringWriter(); t.printStackTrace(new PrintWrite原创 2017-11-23 21:27:55 · 782 阅读 · 0 评论 -
基础巩固--重载与覆盖
重载(overload):对于类的方法(包括从父类中继承的方法),方法名相同,参数列表不同的方法之间就构成了重载关系。这里有两个问题需要注意:(1) 什么叫参数列表?参数列表又叫参数签名,指三样东西:参数的类型,参数的个数,参数的顺序。这三者只要有一个不同就叫做参数列表不同。(2) 重载关系只能发生在同一个类中吗?非也。这时候你要深刻理解继承,要知道一个子类所拥有的成员除了自转载 2017-11-22 11:42:34 · 171 阅读 · 0 评论 -
基础巩固--接口基本特性
接口中可以包含方法和常量。但绝不能包含实例域。 接口中所有的方法自动的属于public。因此,在接口中声明方法时,不必提供关键字public。 接口中的域将被自动的设置为public static final。在Java SE8中,允许在接口中增加静态方法。只是这有违于将接口作为抽象规范的初衷。通常的做法是将静态方法放在伴随类中,如Collection/Collections,Path/Path原创 2017-11-22 10:56:19 · 242 阅读 · 0 评论 -
基础巩固--编写一个完美的equals方法
显示的参数命名为otherObject。 1,检测this与otherObject是否引用同一个对象:if(this == otherObject) return true;2,检测otherObject是否为null:if(otherObject == null) return false;3,比较this与otherObject是否属于一个类。 如果equals的语义在每个子类中有所改变,就原创 2017-11-21 01:10:15 · 211 阅读 · 0 评论 -
基础巩固--hashCode方法
散列码是由对象导出的一个整型值。散列码是没有规律的。 如果重新定义equals方法,就必须重新定义hashCode方法,以便用户可以讲对象插入到散列表中。 equals与hashCode的定义必须一致:如果x.equals(y)返回true,那么x.hashCode()就必须与y.hashCode()具有相同的值。例如,如果用定义Employee.equals比较雇员的ID,那么hashCode原创 2017-11-21 19:00:41 · 216 阅读 · 0 评论 -
基础巩固--理解方法调用
假设要调用x.f(param),隐式参数x声明为类C的一个对象。 1,编译器查看对象的声明类型和方法名。假设调用x.f(param),且隐式参数声明为C类的对象。需要注意的是:有可能存在多个名字为f,但参数类型不一样的方法。编译器将会一一列举所有C类中名为f的方法和其超类中访问属性为public且名为f的方法。 至此,编译器已获得所有可能被调用的候选方法。 2,接下来,编译器将查看调用方法时提原创 2017-11-20 23:45:54 · 208 阅读 · 0 评论 -
基础巩固--内部类
一.什么是内部类 可以将一个类的定义放在另一个类的内部定义,这就是内部类. public class OuterClass{ private String name; private int age; public OuterClass(){} public OuterClass(String name, int age){ this.nam原创 2018-01-23 01:34:41 · 191 阅读 · 0 评论