学习笔记
文章平均质量分 55
初入坑的菜鸟
这个作者很懒,什么都没留下…
展开
-
Thinking in Java学习笔记(一)对象导论
最近在看java编程思想,对其中自己的一些收获记录下来,一方面是加强巩固自己的学习,另一方面也是方便以后翻阅查看。1、将对象看作服务提供者 把对象当作服务的提供者,也就是指关注对象能实现哪些功能,提供哪些服务?它需要哪些对象支持才能实现这些功能?这样做的好处就是: 1、可以让我们把重心或者说目标转换为:创建或者寻找能够提供理想服务解决方案的一系列对象 2、并且也有助于帮助提高对...原创 2018-10-15 17:10:47 · 161 阅读 · 0 评论 -
重载Override和重写Overload的区别 ——Thinking in Java学习笔记(十)
重写Overload重写是指在子类中出现了与父类一样的方法,只有方法体不同,其他包括参数类型、个数、返回值都相同。重写的条件是:要有继承子类要有和父类一样的方法,参数列表和返回值都要相同方法的具体实现要不同,即方法体不同由于子类会继承父类的所有非私有方法,但这里要注意,如果父类和子类不同包,那么缺省的方法也不能够继承。重载Override重载是指在同一个类中,含有多个方法名相同...原创 2018-10-25 16:38:46 · 168 阅读 · 0 评论 -
惰性初始化 ——Thinking in Java学习笔记(九)
1、惰性初始化是什么在java编程中,类变量为基础数据类型时能够自动被初始化值,但对象的引用不行,因为那会导致很多不必要的资源消耗。想要初始化这些对象引用,可以在代码的这些位置进行:在定义对象的地方,这会使得它们在构造器被调用前实例化在类的构造器中在正要使用这些对象之前使用实例初始化2、使用实例(在构造器中初始化) public class Test1 { privat...原创 2018-10-24 15:39:32 · 422 阅读 · 0 评论 -
Java类的访问权限 ——Thinking in Java学习笔记(八)
这里其实只是想记录一个知识点,就是类的访问权限。类既不可以是private的,因为会导致只能自己能访问到这个类。也不可以是protected的。也就是说,类的访问权限修饰只有两个选择,public或者不加修饰。那么这两者有什么区别呢?上一段代码看一下:实验类Test(不加public):package com.ThinkingInJava.chapter2;class Test {...原创 2018-10-24 13:46:35 · 172 阅读 · 0 评论 -
Java访问权限修饰词 ——Thinking in Java学习笔记(七)
java中的访问权限修饰词一共有三个,分别是public、protected、private。但还有一特殊的访问权限:缺省,在没有添加任何访问权限修饰词时,就会默认为缺省访问权限。四个访问权限的访问范围分别为:访问权限当前类同包子孙类不同包public1111protected1110缺省1100private100...原创 2018-10-24 11:49:46 · 150 阅读 · 0 评论 -
Java类加载过程 ——Thinking in Java学习笔记(六)
java中一个类从被加载开始,一直到被销毁为止,类的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。其中,类加载过程包括加载、验证、准备、解析、初始化,其中,验证、准备、解析又被合称为连接过程。1、加载阶段加载过程的主要工作有:1)通过一个类的全限定名来获取定义此类的二进制字节流。2)将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。3)在java堆...原创 2018-10-23 08:37:51 · 170 阅读 · 0 评论 -
Java类选择器 ——Thinking in Java学习笔记(五)
类选择器ClassLoader时什么java程序运行时,是先由javac编译器将java文件编译成.class文件,然后在jvm中对.class文件进行类加载。类选择器的功能就是负责读取.class字节码文件,并将其转换成java.lang.Class类的一个实例。每个实例用来表示一个java类。通过该实例的newInstance()方法可以创建出一个该类的对象。ClassLoader的种...原创 2018-10-23 08:37:35 · 1332 阅读 · 0 评论 -
java中数值型对象的二进制表示 ——Thinking in Java学习笔记(四)
在java中,二进制数没有直接的常量表示法。但是,在使用十六进制或者八进制记数法的时候,使用二进制显示无疑会直观很多。通常在这种情况下,可以使用Integer或者Long的toBinaryString()方法来实现。// 在数字前加0x修饰,表示十六进制记数long l1 = 0xffff;// 在数字前加0修饰,表示八进制记数long l2 = 07777;// 二进制显示Syste...原创 2018-10-19 09:12:39 · 459 阅读 · 0 评论 -
==和equalse的区别 ——Thinking in Java学习笔记(三)
不知道是不是很多人和我一样,一直都以为==比较的是引用对象的地址,equals比较的是对象的值?先来做个实验:Test5 test3 = new Test5("spot", "Ruff!");Test5 test4 = new Test原创 2018-10-18 15:01:34 · 289 阅读 · 0 评论 -
Java中未给定初始值的基础数据类型为什么不能输出 ——Thinking in Java学习笔记(二)
在java编程思想第二章节中有这么一个练习题:定义一个类,给定两个无初始值的int和char类型的数值,输出两个数的值,验证int和char的初始值。我第一次是这么做的:public static void main(String[] args) { int i; char a; System.out.println("int的默认值:" + i); System.out.printl原创 2018-10-18 10:39:01 · 446 阅读 · 0 评论 -
final关键字的使用 ——Thinking in Java学习笔记(十一)
final的使用情况一般分为三种:数据、方法、类final数据final修饰的数据表示值不可变,引用不能改变。其中,对数据的修饰又分为:1、final成员变量:由final修饰的类成员变量,如果是基础数据类型就表示不能改变它的值,但如果是已经初始化了的引用型变量,表示不能改变该对象的引用,但对象本身还是能够改变的。如:// 引用型变量是可以改变其引用的public class Test...原创 2018-10-26 14:53:49 · 159 阅读 · 0 评论