raylee2007的专栏

java技术博客,每天深入一点点

从头认识java-目录

第一章 对象 1.1 编程语言抽象过程以及java的基础特性 1.2 对象-服务提供者 1.3 隐藏具体实现 1.4 复用代码 1.4 复用代码 1.5 继承(1) 1.5 继承(2)

2015-10-19 09:55:44

阅读数:9457

评论数:13

从头认识java-6.4 如何在聚合与继承之间选择

这一章节我们来聊一下在聚合与继承之间选择的问题。在我们平常的编码里面,使用聚合或者继承都可以,或者两者可以混合使用也行,这个时候就需要做出抉择,因为代码以后还需要维护,怎么才能达到维护简单?代码可读?。。。因此,我们必须在各种方案中做出抉择。笔者是这样认为的:如果新的类只是使用老的类的一部分功能,...

2015-10-30 11:47:28

阅读数:2064

评论数:1

从头认识java-6.3 组合使用聚合和继承

这一章节我们来讨论一些组合使用聚合和继承之前已经讲过想过的基础知识以及注意点,现在我们直接上代码:1.例子package com.ray.ch05; public class PlaceSetting extends Custom { private DinnerPlate dinnerPla...

2015-10-30 11:19:20

阅读数:1610

评论数:1

从头认识java-6.2 继承(Generalization)(2)

接着上一章节。(4)无参构造器初始化这里我们来聊聊初始化的话题,特别是初始化基类,父类会怎样?继续沿用上面的代码,我们做出一些精简。package com.ray.testobject; public class Test { public static void main(String[]...

2015-10-29 23:40:23

阅读数:1798

评论数:1

从头认识java-6.2 继承(Generalization)(1)

这一章节我们来聊聊继承(Generalization)。1.概念继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。 2.特点子类继承父类public和protected的属性域与方法,但不继承private的属性域和方法。当子类基础父类的方法时,如果需要,可以覆...

2015-10-29 23:23:42

阅读数:2153

评论数:1

从头认识java-6.1 聚合(aggregation)

我们来说一下复用类最简单的方法:聚合(aggregation)其实说白了,就是建立了一个类,然后在其他地方引用来使用。package com.ray.ch05; public class Test { public static void main(String[] args) { } } ...

2015-10-29 16:45:37

阅读数:2299

评论数:0

从头认识java-5.3 public private protected

这一章节我们来讨论一下public 、private和protected1.CLASS_PATH环境变量里面的CLASS_PATH,这个路径就是我们java寻找文件的路径。注意:一般在CLASS_PATH里面都会加上"."代表当前文件夹,如果不加上这个符号,那么,你编辑的jav...

2015-10-29 15:49:53

阅读数:1493

评论数:0

java清理对象的时候“=null”与“gc”的比较

今天的话题是在清理对象的时候是使用=null还是gc,我们下面做出比较。1.写这篇文章的缘由之前我写了一篇文章是对象的清理(点击跳转),有一位网友给了另外一种方法,因此我特意使用visual vm来测试一下看看。2.使用检测工具 visual vm下载地址:https://java.net/pro...

2015-10-28 15:30:20

阅读数:4644

评论数:6

从头认识java-5.2 包(package)

这一章节我们来讨论一下包(package)。1.包里面是一组类,主要是提供一个命名空间,使得各个类以及功能不会冲突。建立一个项目,然后建立两个包,里面都包含Test这一个类,功能一模一样。package com.ray.ch04; public class Test { private in...

2015-10-28 11:19:20

阅读数:1387

评论数:0

从头认识java-5.1 为什么需要访问权限?

这一章节我们来聊一下为什么需要访问权限?1.因为它解决了一个问题:把不变的和经常改变的分开来package com.ray.ch05; public class Test { private int id = 0; public int getId() { return id; }...

2015-10-28 10:41:07

阅读数:1812

评论数:0

从头认识java-4.9 枚举类型

这一章节我们来简单聊一下枚举类型。1.枚举类型是一种数据类型package com.ray.ch04; public class Test { public static void main(String[] args) { MyType myType = MyType.ONE; S...

2015-10-28 10:18:19

阅读数:1766

评论数:2

从头认识java-4.8 数组的初始化(2)-可变参数列表

接着上一节,我们这一章节来聊一下数组的另外一个应用:可变参数列表1.可变参数列表带来的改变在没有出现可变参数列表的时候,我们一般会使用数组来替代,但是有一个问题,每一次都需要先建立一个数组作为参数,不能动态的形成数组作为参数。package com.ray.ch04; public class ...

2015-10-28 09:46:05

阅读数:1618

评论数:1

从头认识java-4.8 数组的初始化(1)

这一章节我们来讨论一下数组的初始化。1.数组是一个对象。package com.ray.ch01; public class Test { public static void main(String[] args) { int[] a = {}; System.out.println...

2015-10-28 08:28:36

阅读数:2670

评论数:0

从头认识java-4.7 构造器初始化(3)

接着上一章节。(4)显性初始化静态域通过静态代码块来初始化某些属性域。package com.ray.testobject; public class Test { private static int id; private static String name; st...

2015-10-27 23:26:03

阅读数:1588

评论数:0

从头认识java-4.7 构造器初始化(2)

这一章节我们接着上一章节的内容。(3)静态数据的初始化a.静态数据只会执行一次package com.ray.testobject; public class Test { private static Book book1 = new Book(1); private static Boo...

2015-10-27 23:07:51

阅读数:1653

评论数:0

从头认识java-4.7 构造器初始化(1)

这一章节我们来聊聊构造器的初始化。(1)域的初始化在构造器初始化之前package com.ray.testobject; public class Test { private int id; public Test() { System.out.println("id:&...

2015-10-27 22:35:39

阅读数:1980

评论数:2

从头认识java-4.6 成员的初始化

这一章节我们来讨论一下成员的初始化。之前已经提到,如果是属性域,编译器会默认初始化,这一章节不再展开,这里我们需要注意的是局部变量。局部变量必须初始化,不然直接报错。下面是错误的代码:package com.ray.ch01; public class Test { public stati...

2015-10-26 16:17:28

阅读数:1538

评论数:0

从头认识java-4.5 对象的清理(finalize())

这一章节我们来简单讨论一下对象的清理。注意:在c++里面会提供析构函数,来清除对象,但是在java中,对象是被垃圾回收器回收的。回收不一定被析构,因为回收了对象,只有当回收器超过某个限度的内存是,才发生回收,因此,有可能对象只是被回收,但到了程序关闭才被析构,因为回收器一直没有超过限制。在JAVA...

2015-10-26 14:27:14

阅读数:3039

评论数:4

从头认识java-4.4 this

这一章节我们来讨论一些this1 this是在类的内部使用,它指向对象的引用。package com.ray.ch01; public class Test { private Test getTest() { return this; } public static void m...

2015-10-26 09:03:23

阅读数:1979

评论数:2

从头认识java-4.3 默认构造器

这一章节我们来讨论一些默认构造器与this的注意点。1.默认构造器当你不设置任何构造器的时候,系统默认会建立一个。package com.ray.ch01; public class Test { } 上面的代码其实里面默认包含了一个无参的构造器,这个时候可以使用new Test()来创建对象...

2015-10-26 09:00:40

阅读数:2459

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭