4.this关键字(this key word) 继上一小节,(3.一个对象可能有多个参考)this是当中的一个参考!指向他自己. class MyTestDate {    int year;    int month;    MyTestDate(int year, int month, int day) {/* 为了学习this的用法,本例中,我们故意用了两个相同的year,一个是全类作用范围的(整个类中都有效马克-to-win):int year; 另外一个是,只有本块儿才起作用的块作用…
一.包的概念:创建,使用. 1.新建包: 最上面一行,之前不能再有其它代码了. package 包名; 注意:包名一般都有命名的规范.例如:com.itnba.maya.zy(从大到小). 2.使用包: import 包名.*; import 包名.类名; 例如:import com.itnba.maya.zy.*; 注意:import不要放在package的上面上 package com.itnba.maya.zy; import com.itnba.maya.zyy.*; //从别的包里引用…
接口 初期理解,可以是一个特殊的抽象类 当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示 class 用于定义类 interface 用于定义接口 接口定义时,格式特点: 1.接口中常见的定义,一个是常量,一个是抽象方法 2.接口中成员都有固定的修饰符 常量:public static final 显示声明或默认声明(final见补充) 方法:public abstract 记住:接口中的成员都是public的 接口是不可以创建对象的,因为有抽象方法. 需要被子类全部实现,否则子类也…
掌握Java中锁是Java多线程编程中绕不开的知识,只有知道理解Java各种锁才能在编码过程中灵活运用,写出更高效的多线程程序.而理解掌握锁的第一步,可从宏观上对比理解一下各种锁概念. 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释. 公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁.非…
接口接口在java中是一个抽象的类型,是抽象方法的集合,接口通常使用interface来声明,一个类通过继承接口的方式从而继承接口的抽象方法.接口并不是类,编写接口的方式和类的很相似,但是他们属于不同的概念,类描述的是对象的属性和方法,接口则包含类要实现的方法.除非实现接口的类是抽象类,否则该类要定义接口中所有的方法.接口无法被实例化,但是可以被实现,一个实现接口的类必须实现接口内所藐视的所有的方法,否则就必须声明为抽象类.接口与类的相似点:1.一个接口可以有多个方法.2.接口文件保存在.jav…
强引用(StrongReference) 强引用就是指在程序代码之中普遍存在的,比如下面这段代码中的object和str都是强引用: 1 2 Object object = new Object(); String str = "hello"; 只要某个对象有强引用与之关联,JVM必定不会回收这个对象,即使在内存不足的情况下,JVM宁愿抛出OutOfMemory错误也不会回收这种对象.比如下面这段代码: 1 2 3 4 5 6 7 8 9 10 public class Main {…
Java 中的包package, 就是电脑中的文件夹.我们平时在工作中,文件太多时,都会新建文件夹进行分类管理,java 中的包也是类似的道理,当我们的类太多时,也需要进行分类管理,这时我们就会把类文件放到包中,就是把这个.class文件放到了一个文件夹中,这样也能有效地避免了命名冲突. 当我们对java源文件进行编译时,它会生成一个.class 文件,如果我们在java源文件的顶部,指定一个包名(package net;), 编译时,这个包名会生成一个文件夹,在这里就是net文件夹,编译好的.…
今天寡人遇到一个问题,扫描非关系数据库中的图(由node和rel组成),将其转化成由寡人自定义的gnode和gedge组成的图. gnode类包含结点的id,label和包含此gnode的gedge的链表:gedge类包含gnode类型的startnode和endnode. 寡人伏案敲打键盘,不到一盏灯的时间里便写出了一个递归的深度优先遍历算法,心中不免感到被自己的才智深深的折服. 但寡人发觉有哪里不太对,寡人在纸上画一例以试之,发现果然有问题: 为避免重复扫描相同的node,在处理此node之…
继承是类的三大特性之一,是java中实现代码重用的重要手段之一.       java中只支持单继承,即每个类只能有一个父类.       继承表达的是is a的关系,或者说一种特殊和一般的关系.       例如DOS is a Pet.       同样,我们可以让学生继承人.让苹果继承水果.让三角形继承几何图形.         在java中,继承(Interitance)通过extends关键字来实现,其中SubClass成为子类SuperClass称为父类.基类或超类.        …
1.什么是二维数组?有几种表达方式?分别是什么? 答:多维数组即数组的数组,即数组的元素也是数组. 例:int[] [] a = {{1},{1,2},{1,2,3}}; 有三种方式 1).int [] [] a;  2).int [] a1 [];  3).int a2 [] []; *强烈推荐用第1种,不容易混淆a的数据类型: 2.多维数组的创建过程是什么? 答: 例:int [] [] a = new int [2] []; a[0] = {1,2,3}; a[1] = {4,5,6};…