自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

翻译 继承

当继承现有类型是,也就创造了新的类型,这个新类型不仅包括现有类型的所有成员,而且更重要的是复制了基类的接口,就是说给基类发送的消息也可以发给子类两种方法是基类与导出类产生差异,1:直接在导出类中添加新的方法,2覆写基类的方法。像一个和是一个的关系是一个就是一个导出类可以完全替代一个基类对象,像是一个,导出类比基类多了些功能,(扩充基类,就可以  是一个);伴随多态的可互换对象。

2017-08-24 18:04:10 219

翻译 访问控制的原因

将程序开发人员按照角色分为类创建者和客户端程序员。第一个原因就是让客户端程序员无法触及他们不应该触及的地方,这部分对数据类型的内部操作是必须的,但并不是用户解决问题的接口的一部分第二个原因就是允许库设计者改变类内部的工作方式,而不用担心影响客户端程序员。public表示紧随其后的元素对任何人都是可用的private表示出类型创建者和类型的内部方法之外的任何人都不能访问的元素,p

2017-08-24 15:34:36 305

转载 面向对象。

准备再看一遍thinking in java,上次木有看完,这次再从头看。1,万物皆为对象,将对象视为奇特的变量,除了可以存储数据 还可以在自身上执行操作。2,程序是对象的集合,他们通过发送消息来告知彼此所要做的。 具体的说,就是把消息想象为 对某个特定对象的方法的调用请求。3,每个对象都有自己由其他对象所构成的存储,4,每个对象都有其类型,每个对象都是某个类的实例,每个类

2017-08-24 15:15:18 212

原创 hashset去重

hashSet的基本的操作都是有HashMap底层实现的,存入的值就像是 hashmap 的键值一直,不会重复,但是需要满足  他们是equals相等的,如果想要修改操作,则需要修改 equals 和 hashcode 两个方法。

2017-08-03 09:37:17 290

原创 构建自己的违例 和 finally

构建自己的违例首先需要继承一个违例     class MyException extends Exception   假如我们不明确调用一个基础类构建器,编译器会自动调用基础类默认构建器如果处理了异常,不把异常抛给jvm,代码可以继续跑finally ,无论如何有一块代码想执行,在最后加上finally

2017-04-24 19:49:56 226

原创 Collection或 Map不可修改 还有同步

Collection c = new ArrayList();Collection1.fill(c); // Insert useful datac = Collections.unmodifiableCollection(c);List a = new ArrayList();Collection1.fill(a);a = Collections.unmodifiableList(a

2017-04-10 20:21:29 235

翻译 Collections类中的实用工具

enumeration(Collection) 为自变量产生原始风格的Enumeration(枚举)max(Collection),min(Collection) 在自变量中用集合内对象的自然比较方法产生最大或最小元素max(Collection,Comparator),min(Collection,Comparator) 在集合内用比较器产生最大或最小元素nCopies(int n,

2017-04-10 20:09:55 178

原创 利用比较器排序字母

继承comparetor接口,sort中多加一个参数public class AlphaComp implements Comparator {public int compare(Object o1, Object o2) {// Assume it's used only for Strings...String s1 = ((String)o1).toLowerCase();Stri

2017-04-10 20:03:31 292

原创 array的sort和binarySearch方法

1,若在执行一次binarySearch()之前不调用 sort(),便会发生不可预测的行为,其中甚至包括无限循环。2,binarySearch(object[ ], int fromIndex, int endIndex, object key);搜索时,存在时由0开始计数。不存在时由1开始计数;对String 的排序以及搜索是相似的,但在运行程序的时候,我们会注意到一个有趣的现象:

2017-04-10 19:48:25 619

原创 echarts 简述 和 饼图动态赋值

使用echarts,先导入一个js,js要在form表单的下部,然后弄一个div放到jsp中,var myChart = echarts.init(document.getElementById('myEchart'));   myEchart是放置表的div的id    option = {    option里的内容从官网直接copy。     };        // 使

2017-03-21 17:04:22 10346

翻译 list set map 简述

List(接口) 顺序是 List 最重要的特性;它可保证元素按照规定的顺序排列。List 为 Collection 添加了大量方法,以便我们在 List 中部插入和删除元素(只推荐对LinkedList 这样做)。List 也会生成一个ListIterator(列表反复器),利用它可在一个列表里朝两个方向遍历,同时插入和删除位于列表中部的元素(同样地,只建议对 LinkedList这样做)一般只

2017-03-20 20:50:46 281

翻译 list能够点出来的方法

boolean add(Object) *保证集合内包含了自变量。如果它没有添加自变量,就返回 false(假)boolean addAll(Collection) *添加自变量内的所有元素。如果没有添加元素,则返回 true(真)void clear() *删除集合内的所有元素boolean contains(Object) 若集合包含自变量,就返回“真”boolean cont

2017-03-20 20:01:58 275

翻译 反复器(Iterator)

public class SimpleCollection {public static void main(String[] args) {Collection c = new ArrayList();for(int i = 0; i < 10; i++)c.add(Integer.toString(i));Iterator it = c.iterator();while(it.ha

2017-03-20 19:56:36 193

原创 回调

待写

2017-03-17 10:30:56 165

翻译 hashtable把自己的类当做主键

class Groundhog {int ghNumber;Groundhog(int n) { ghNumber = n; }}class Prediction {boolean shadow = Math.random() > 0.5;public String toString() {if(shadow)return "Six more weeks of Winter!";

2017-03-16 19:49:01 306

原创 集合 反复器

当我们编写程序时,通常并不能确切地知道最终需要多少个对象。有些时候甚至想用更复杂的方式来保存对象。为解决这个问题,Java 提供了四种类型的“集合类”:Vector(矢量)、BitSet(位集)、Stack(堆栈)以及Hashtable(散列表)。缺点是,加入到集合中,集合会丢失类型信息。反复器(1) 用一个名为 elements()的方法要求集合为我们提供一个 Enumeration。我

2017-03-14 20:56:06 207

翻译 对象的容纳——数组

集合类只能容纳对象句柄。但对一个数组,却既可令其直接容纳基本类型的数据,亦可容纳指向对象的句柄。利用象 Integer、Double之类的“封装器”类,可将基本数据类型的值置入一个集合里。创建和访问一个基本数据类型数组,那么比起访问一个封装数据的集合,前者的效率会高出许多。容纳对象的数组就是Weeble[] b = new Weeble[5];方法可以返回一个数组。public cla

2017-03-14 20:35:58 290

翻译 从内部类继承 内部类被覆盖 内部类生成的class文件名

从中可以看到,InheritInner只对内部类进行了扩展,没有扩展外部类。但在需要创建一个构建器的时候,默认对象已经没有意义,我们不能只是传递封装对象的一个句柄。此外,必须在构建器中采用下述语法:enclosingClassHandle.super();它提供了必要的句柄,以便程序正确编译。class WithInner {class Inner {}}public c

2017-03-08 21:55:02 480

原创 匿名内部类

匿名内部类,没有名字的内部类。可以是实体类,也可以是接口。public class Demo {    public static void main(String[] args) {        Person p = new Person() {            public void eat() {

2017-03-05 17:53:55 205

翻译 方法和作用域中的内部类

可以在方法里写一个内部类,内部类的作用范围是在本方法中package demo;interface Contents {int value();}interface Destination {String readLabel();}public class Parcel1 {private void internalTracking(boolean b) {if(b) {cla

2017-03-05 16:23:40 201

翻译 内部类 static内部类

abstract class Contents {abstract public int value();}interface Destination {String readLabel();}public class Parcel3 {private class PContents extends Contents {private int i = 11;pu

2017-03-02 21:51:49 273

原创 抽象方法 接口 多重继承

父类只声明方法名,方法没有实体,子类写自己具体的方法。有抽象方法的类一定是抽象类,但抽象类中并不是所有的方法都是抽象方法。一个接口中的方法必须都是public的,如果没声明public会自动默认是public。implements接口的类需要定义接口中的所有方法。抽象类和接口都不可以new对象。

2017-03-02 17:12:05 376

原创 后期绑定,过载与覆盖

Shape s = new Circle();shape是父类,circle是子类,两者都有一个draw的方法s.draw调用的是circle的方法,因为后期绑定已经介入(多形性)过载”是指同一样东西在不同的地方具有多种含义;而“覆盖”是指它随时随地都只有一种含义,只是原先的含义完全被后来的含义取代了。父类有个方法public void a(int a),子类的方法public v

2017-02-28 22:05:54 509

翻译 继承类初始化的过程

class Insect {int i = 9;int j;Insect() {prt("i = " + i + ", j = " + j);j = 39;}static int x1 =prt("static Insect.x1 initialized");static int prt(String s) {System.out.println(s);

2017-02-28 20:31:44 404

原创 final关键字的使用 实体类的空白final final自变量 ,final方法,类

对于基本数据类型,final 会将值变成一个常数;但对于对象句柄,final 会将句柄变成一个常数。进行声明时,必须将句柄初始化到一个具体的对象。而且永远不能将句柄变成指向另一个对象。不能由于某样东西的属性是final,就认定它的值能在编译时期知道,final int i4 = (int)(Math.random()*20);static final int i5 = (int)(Math

2017-02-27 20:57:16 1038

原创 Java合成与继承

合成就是包含关系,继承是属于关系,合成是类中套类,就是在新类中new一个需要导入的对象,然后使用,继承extends会获得基础类的所有数据成员和方法。private变量是私有的,不能被继承如果我们想用父类方法,最好的办法是,保持成员变量的私有private,方法要用protected(这个指示符的意义就是可以让继承的类调用父类的方法,还有同一个包里可以互相调用)我们可以写一个pro

2017-02-27 14:11:26 346

原创 sql跨服务器查询数据库

现在使用的是sqlserver://192.168.1.49;databaseName=JIAOZHOU_TEST,要连接的为192.168.1.86的JIAOZHOU库           1.在192.168.1.49中执行下面的2句语句(只在服务器建好后执行一下就可以,其他时候不需要执行这两句) 

2017-02-24 17:33:25 2534

翻译 继承:父类的构建器有自变量,子类的构建器必须调用父类的构建器super(i)

1. 含有自变量的构建器上述例子有自己默认的构建器;也就是说,它们不含任何自变量。编译器可以很容易地调用它们,因为不存在具体传递什么自变量的问题。如果类没有默认的自变量,或者想调用含有一个自变量的某个基础类构建器,必须明确地编写对基础类的调用代码。这是用 super 关键字以及适当的自变量列表实现的,如下所示:class Game {Game(int i) {System.

2017-02-23 21:30:46 318

原创 数组小记,访问指示符小记

基本数据类型的数组元素会自动初始化成“空”值(对于数值,空值就是零;对于 char,它是null;而对于boolean,它却是 false)意思就是说int[] a = new int[pRand(20)]; a【i】都是0,没赋值的时候,int的数组自动默认是0

2017-02-23 15:13:43 186

原创 static变量初始化 静态块

static初始化只有在必要的时候才会进行。如果不创建一个 Table 对象,而且永远都不引用Table.b1 或Table.b2,那么 static Bowl b1 和b2 永远都不会创建。然而,只有在创建第一个Table 对象之后(或者发生了第一次static 访问),它们才会创建。在那以后,static 对象不会重新初始化。初始化的顺序是首先static(如果它们尚未由前一次对象创建过程初始

2017-02-16 21:36:01 560

原创 构建器的初始化

class Tag {Tag(int marker) {System.out.println("Tag(" + marker + ")");}}class Card {Tag t1 = new Tag(1); // Before constructorCard() {// Indicate we're in the constructor:System.out.println("

2017-02-16 21:10:28 163

原创 同一个类中用this 构建器调用构建器

尽管可用this 调用一个构建器,但不可调用两个,构建器调用必须是我们做的第一件事情,否则会收到编译程序的报错信息Flower() {this("hi", 47);System.out.println("default constructor (no args)");}Flower(String s, int petals) {this(petals);this

2017-02-15 21:05:31 217

原创 默认构建器 this关键字

默认构建器是没有自变量的。它们的作用是创建一个“空对象”,就是 构造函数,如果没写,会有默认的构造函数Bird nc = new Bird(); 中 new Bird(); 就是新建一个对象,并调用默认构建器,如果写了自己的构造函数class Bush {Bush(int i) {}Bush(double d) {}}new Bush();时会报错,因为自己定义的构

2017-02-15 20:20:52 241

翻译 方法过载,传参时,参数是主数据类型自动转型

若我们的数据类型“小于”方法中使用的自变量,就会对那种数据类型进行“转型”处理。char 获得的效果稍有些不同,这是由于假期它没有发现一个准确的char 匹配,就会转型为int。方法采用了容量更小、范围更窄的主类型值。若我们的自变量范围比它宽,就必须用括号中的类型名将其转为适当的类型。如果不这样做,编译器会报告出错。这是一种“缩小转换”。也就是说,在造型或转型过程中可能丢失一些信息

2017-02-14 22:09:05 387

原创 switch 小记

switch(整数选择因子) {case 整数值1 : 语句; break;case 整数值2 : 语句; break;case 整数值3 : 语句; break;case 整数值4 : 语句; break;case 整数值5 : 语句; break;//..default:语句;}其中,“整数选择因子”是一个特殊的表达式,能产生整数值。switch 能将整数选

2017-02-14 21:03:13 174

原创 运算符优先级,for循环的标签

若将一个float 值与一个double值相乘,结果就是 double;如将一个 int和一个 long 值相加,则结果为long。Ulcer(溃疡) Unary:一元 + - + + - [[ 其余的 ]]Addicts(患者) Arithmetic(shift);算术(和移位) * / % + - >Really(特别) Relational:关系 > = Like(喜欢) L

2017-02-13 21:26:02 440

原创 短路 移位运算符 小记equals

public class demo2 {    int i=12;}public static void main(String[] args) {demo2 v1 = new demo2();demo2 v2 = new demo2();v1.i = v2.i = 100;System.out.println(v1.equals(v2));}输出的是FAL

2017-02-09 21:26:19 193

原创 =号以及对象的=指向地址

几乎所有运算符都只能操作“主类型”(Primitives)。唯一的例外是“=”、“==”和“!=”,它们能操作所有对象(也是对象易令人混淆的一个地方)。除此以外,String 类支持“+”和“+=”。但是string是拼接字符,使其连接起来。注意运算符的优先级。赋值是用等号运算符(=)进行的。它的意思是“取得右边的值,把它复制到左边”右边的值可以是任何常数、变量或者表达式,只要

2017-02-07 20:18:11 302

原创 static简略

public class demo1 { /** * @param args */ public static void main(String[] args) { demo2 aDemo1=new demo2(); demo2 aDemo2=new demo2(); aDemo1.b++; System.out.print(aDemo1.b++); System.

2017-02-06 21:10:41 217

原创 主类型默认值几大小,类成员

主类型 默认值Boolean falseChar '\u0000'(null)byte (byte)0short (short)0int 0long 0Lfloat 0.0fdouble 0.0d只有被当做是类成员时,主类型才会有默认值。在函数里声明时,不会自动初始化,就是没有默认值。public class demo1 {static int a;

2017-02-03 20:58:33 196

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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