`
李灵晖-raylee
  • 浏览: 135846 次
博客专栏
Group-logo
从头认识java
浏览量:0
文章分类
社区版块
存档分类
最新评论
文章列表
我们来说一下复用类最简单的方法:聚合(aggregation) 其实说白了,就是建立了一个类,然后在其他地方引用来使用。 package com.ray.ch05; public class Test { public static void main(String[] args) { } } package com.ray.ch05; public class Test2{ public static void main(String[] args) { new Test(); } } 建立了Test这个类,我们可以在程序的任何地方new出来,就好像在Test2里面new ...
这一章节我们来讨论一下public 、private和protected 1.CLASS_PATH 环境变量里面的CLASS_PATH,这个路径就是我们java寻找文件的路径。 注意:一般在CLASS_PATH里面都会加上"."代表当前文件夹,如果不加上这个符号,那么,你编辑的java很有可能不能编译,因为在CLASS_PATH里面特定的几个文件夹里面很可能找不到你的源文件。 2.public 对于所有成员公开 package com.ray.ch05; public class Test { private int id; private void say() ...
今天的话题是在清理对象的时候是使用=null还是gc,我们下面做出比较。 1.写这篇文章的缘由 之前我写了一篇文章是对象的清理(点击跳转),有一位网友给了另外一种方法,因此我特意使用visual vm来测试一下看看。 2.使用检测工具 visual vm 下载地址:https://java.net/projects/visualvm/downloads/download/release138/visualvm_138.zip 使用参考文章: 使用 VisualVM 进行性能分析及调优 3.测试用例 下面是使用gc来清理: package com.ray.ch05; public cl ...
这一章节我们来讨论一下包(package)。 1.包里面是一组类,主要是提供一个命名空间,使得各个类以及功能不会冲突。 建立一个项目,然后建立两个包,里面都包含Test这一个类,功能一模一样。 package com.ray.ch04; public class Test { private int id = 0; public int getId() { return id; } public void setId(int id) { this.id = id; } } package com.ray.ch05; public class Test { pr ...
这一章节我们来聊一下为什么需要访问权限? 1.因为它解决了一个问题:把不变的和经常改变的分开来 package com.ray.ch05; public class Test { private int id = 0; public int getId() { return id; } public void setId(int id) { this.id = id; } } 从代码上面我们可以看见,id这个属性域经常会根据操作不停的变化,而方法get和set基本都是固定下来的了,因此id是private,而get、set方法是public 2.解决前后端程序员之间 ...
这一章节我们来简单聊一下枚举类型。 1.枚举类型是一种数据类型 package com.ray.ch04; public class Test { public static void main(String[] args) { MyType myType = MyType.ONE; System.out.println(myType instanceof Object); } } enum MyType { ONE, TWO, THREE } 输出: ...
接着上一节,我们这一章节来聊一下数组的另外一个应用:可变参数列表 1.可变参数列表带来的改变 在没有出现可变参数列表的时候,我们一般会使用数组来替代,但是有一个问题,每一次都需要先建立一个数组作为参数,不能动态的形成数组作为参数。 package com.ray.ch04; public class Test { public static void printArray(Object[] objects) { for (int i = 0; i < objects.length; i++) { System.out.println(objects[i]); } } ...
这一章节我们来讨论一下数组的初始化。 1.数组是一个对象。 package com.ray.ch01; public class Test { public static void main(String[] args) { int[] a = {}; System.out.println(a instanceof Object); } } 输出:true 2.把数组赋值给变量,其实是把数组的引用赋值给变量。 package com.ray.ch04; import java.util.Arrays; public class Test { public static ...
接着上一章节。 (4)显性初始化静态域 通过静态代码块来初始化某些属性域。 package com.ray.testobject; public class Test { private static int id; private static String name; static { id = 0; name = "abc"; System.out.println("id:" + id); System.out.println("name:" + name); } pu ...
这一章节我们接着上一章节的内容。 (3)静态数据的初始化 a.静态数据只会执行一次 package com.ray.testobject; public class Test { private static Book book1 = new Book(1); private static Book book2 = new Book(2); public Test() { System.out.println("create test"); book1.say(); book2.say(); Book book3 = new Bo ...
这一章节我们来聊聊构造器的初始化。 (1)域的初始化在构造器初始化之前 package com.ray.testobject; public class Test { private int id; public Test() { System.out.println("id:"+id); id = 2; System.out.println("id:"+id); } public static void main(String[] args) { new Test(); } } 输出: id ...
这一章节我们来讨论一些this 1 this是在类的内部使用,它指向对象的引用。 package com.ray.ch01; public class Test { private Test getTest() { return this; } public static void main(String[] args) { } } 上面代码里面的this就是返回Test这个类型的对象。 this还可以操作方法: package com.ray.ch01; public class Test { private void say() { System.out.p ...
这一章节我们来讨论一些默认构造器与this的注意点。 1.默认构造器 当你不设置任何构造器的时候,系统默认会建立一个。 package com.ray.ch01; public class Test { } 上面的代码其实里面默认包含了一个无参的构造器,这个时候可以使用new Test()来创建对象。但是,如果自己定义了一些构造器,而且没使用无参构造器,那么就不可以使用new Test()来创建,因为这里系统默认是自己定义的,不再默认的添加。 package com.ray.ch01; public class Test { public Test(int i) { } pu ...
这一章节我们来聊一下方法重载。 1.为什么需要方法重载? 因为在java里面规定,构造器只有一个,那么,如果我需要多种方式来创建对象,那么怎么做?这个时候就需要方法重载,因为构造器全名叫做构造器函数,他是一个特殊的方法,因此,我们可以对他使用方法重载,而且方法重载对于所有方法都是一样的。 例子: package com.ray.testobject; public class Test { public static void main(String[] args) { } } class TestClass { public TestClass() { } public T ...
这一章节我们来聊聊创建与初始化对象。 这个需要讨论的问题源自于c语言,在c语言中,很大部分的错误是忘记了初始化某些东西,他把库的构建的使用需要完成两个操作-创建与初始化,但是在java里面,使用构造器来创建与初始化,他们是在一起的,因此避免了一部分忘记初始化的错误。 package com.ray.testobject; public class Test { public static void main(String[] args) { TestClass t1=new TestClass(); TestClass t2=new TestClass(); } } class ...
Global site tag (gtag.js) - Google Analytics