JAVA学习
文章平均质量分 80
icesnows
江西九江人
通信专业
硬件
编程
展开
-
《JAVA编程思想》第四版学习 需要我记住的something --一切皆对象
一. 万物皆对象 JAVA通过引用操作对象,对象标识(identifier)为引用(reference) 二. 对象创建均通过new关键字 对象存于heap,而不是stack,也可存于non-RAM,包括streamed objects和persistent objects,JAVA支持轻量级的永久性(lightweight persistence),JDBC an原创 2009-05-19 03:06:00 · 576 阅读 · 0 评论 -
Java的传值(by value)和传引用(by reference)的讨论
有一种说法Java都是传值因为传引用,也是把引用的值--地址,赋给另外一个引用 但我觉得:如果说 传引用只是把引用的值--即对象的地址传入 从而说是传值 进一步说Java都是传值的话 那我觉得C里面传指针也是传值啊 指针你也可以认为是一种数据类型,它的值也是地址 传指针,也是把它的值--即另一个数据对象的地址传入 只不过指针原创 2009-05-24 19:21:00 · 794 阅读 · 0 评论 -
某外企 机试题
如果数组中存在这样的数,这个数比它左边的所有的数大,并且比它右边的所有的数小,返回它的索引;如果不存在,返回-1。 例如:int[] arr = {5,3,6,2,7,10,8,12}; 7比它左边的数都大,比它右边的数都小,所以返回4 我的解答我也写了一个,貌似很复杂,只是我想正好学习JAVA,当做练习,熟悉些特性吧 其实核心就是getIndices,这个方法返回所有符合原创 2009-05-25 23:24:00 · 680 阅读 · 0 评论 -
关于派生类构造器对基类构造器的调用
其实这将是"《JAVA编程思想》第四版学习 需要我记住的something -复用类"的一部分,之所以单独提出来,并提前发出来,只是要增强自己的记忆吧。 Java自动在派生类构造器中插入调用基类构造器的代码,即使未定义派生类构造器,编译器仍会产生一个默认构造器来调用基类构造器,而且基类构造器调用发生在派生类构造器之前。 那么,是不是可以认为基类构造器调用是派生类构造器原创 2009-05-27 01:13:00 · 669 阅读 · 0 评论 -
《JAVA编程思想》第四版学习 需要我记住的something --访问控制
一.重构(refactoring),在不改变代码功能的基础上,改变代码结构(重写代码),使代码更便于阅读,更易理解,更易维护。 不妨看看这篇文章《有关于Refactor(重构)与Source(源)的比较》。 为什么要重构?因为你找到了更好的实现方法。二.面向对象设计要考虑的一个基本问题:如何将变动的事物和不变的事物保持分离。 例如库,原创 2009-05-25 09:04:00 · 588 阅读 · 0 评论 -
《JAVA编程思想》第四版学习 需要我记住的something –复用类
一.类复用的两种方式: 组合(composition)--新类由已有类的对象组成。复用已有类的功能,而不是形式。 继承(inheritance)--以已有类的类型(type)创建新类。无需改变已有类,只是采用新类的形式并添加所需代码。 二.toString()方法的显式、隐式调用(对象作为String来使用时)。三.null引用访问时原创 2009-05-28 03:36:00 · 1137 阅读 · 0 评论 -
【转自JavaEye】为什么“局部内部类能且只能访问所在方法中的final类型的参数和变量”?
Thinking In Java里面的说法(唯一正确的说法): 如果定义一个匿名内部类,并且希望它使用一个在其外部定的对象,那么编译器会要求其参数引用是final 的。 public class Tester { public static void main(String[] args) { A a = new A(); C转载 2009-06-10 20:45:00 · 1202 阅读 · 0 评论 -
《JAVA编程思想》第四版学习 需要我记住的something--多态
一. 面向对象编程三个基本特性:数据抽象(data abstraction)、继承(inheritance)和多态(polymorphism)。二.通过分离"做什么"和"怎么做",多态从另一个角度将接口与实现分离开。 多态不但能够改善代码组织结构和可读性,而且可以创建"可扩展"(extensible)的代码(无论是在项目最初创建时,还是在需要添加新功能时,都可原创 2009-06-10 22:21:00 · 1163 阅读 · 0 评论 -
《JAVA编程思想》第四版学习 需要我记住的something –内部类
一. 内部类:在其它类内定义的类,不同于组合。虽然看上去象某种代码隐藏机制,但可以实现更多功能-了解包含它的类并可与之交换数据,而且内部类的代码可以更优雅、清晰。 二.内部类定义:包含在其它类内。使用与非内部类没有太大区别。 典型用法:outer class通过方法返回inner class的引用。 区别之一:内部类名嵌套在外部类(outer原创 2009-06-10 23:29:00 · 826 阅读 · 0 评论 -
《JAVA编程思想》第四版学习 需要我记住的something –接口
一.接口和抽象类提供了一种将接口与实现分开的更加Structured(结构化?)的方法。 C++只是间接支持;而Java有关键字interface和abstract,提供直接支持。 二.抽象类和方法 抽象类位于普通类和接口之间的一个中间层次,是构建具有某些未实现的类的一种重要而又必须的方法,因为不可能总是用纯接口。 抽象方法(abstr原创 2009-06-13 16:33:00 · 927 阅读 · 0 评论 -
【转自csdn blog】checked or unchecked
Java明确区分两种类型的异常.那些扩展了java.lang.Exception的异常称为checked exceptions, 编译器要求这些异常必须被捕获或者重新抛出.那些扩展了java.lang.RuntimeException的异常称为unchecked exceptions, 它们不是必须捕获的.当然, 也可以捕获这些异常并相应地扩展调用栈, 就像通常对checked exception转载 2009-06-13 21:20:00 · 564 阅读 · 0 评论 -
一道笔试题(JAVA)--求第一个无重复字符(转自论坛)
求第一个无重复字符,如"total"的第一个无重复字符是o,"teeter"的第一个无重复字符是r,效率要优于O(n的平方) public static Character FirstNonRepeated(String) 这个方法值得学习: 都是ascii字符的话比较简单,O(n)就可以了public static Character FirstNonRepeate转载 2009-05-24 18:43:00 · 560 阅读 · 0 评论 -
关于static clause的调用
论坛相关的帖子:JAVA初始化的问题(主动调用和被动调用)先看例子class AmazingCls { final static double a = Math.random(); //(1) //static int a = 18; //(2) //final static int a =18; //(3) static{转载 2009-05-27 11:43:00 · 590 阅读 · 0 评论 -
关于foreach的使用
当然首先要说明一点,Java的foreach也是用for来实现的,之所以说foreach是为了与传统的for循环区分开。 在我做《JAVA编程思想》访问控制这一章习题8的时候,用到了这样的语句: static Connection[] ca = new Connection[3];{ for (x:ca) { x = Con原创 2009-05-25 09:12:00 · 634 阅读 · 0 评论 -
《JAVA编程思想》第四版学习 需要我记住的something --操作符
一. 对象赋值,别名现象(aliasing),方法调用时参数传递同样存在二. boolean只能使用==、!=、逻辑操作符和位操作符(NOT操作符~除外) 注意,boolean可以使用位操作符(NOT除外),结果与逻辑操作符一样(但逻辑操作符不包括XOR)三. ==、!=、equals方法 ==、!=比较引用(基本类型除外),equals方法默认原创 2009-05-19 02:19:00 · 835 阅读 · 0 评论 -
《JAVA编程思想》第四版学习 需要我记住的something --流程控制
一. 不支持goto(虽然goto是保留字),可以进行类似跳转,但有诸多限制 类似跳转是指break和continue,默认退出当前(内层)循环,通过添加标号可以直接退出上层循环。JAVA的标号只能用在循环前(紧接着循环,中间不能有别的语句), like label1:outer-iteration { inner-iteration {原创 2009-05-19 11:23:00 · 540 阅读 · 0 评论 -
java Integer的比较实践(转自blogjava)
package com.test;public class 解包装包 { public static void main(String []args) { Integer a = 100; Integer b = 100; System.out.println(a==b); }}打印结果为:true但是如果换成 128 > var >= -128 之外的整数就打fa转载 2009-05-23 14:41:00 · 1097 阅读 · 0 评论 -
猴子选大王(java求解)
n只猴子选大王,方法如下:按照1,2,3....n给猴子编号,然后按编号顺序坐成1圈,从1号猴子开始按编号顺序报数至m,报到m的猴子退出圈外,退出的猴子的下一只猴子重新从1开始报数至m,报到m的猴子退出,如此循环直至剩下一只猴子就是大王。要求编写一程序,n和m都是入参,返回最后一只猴子的编号。 代码import java.util.*;class Monkey{原创 2009-05-23 17:27:00 · 5510 阅读 · 0 评论 -
《JAVA编程思想》第四版学习 需要我记住的something --初始化和清除 (二)
十. 成员初始化 Java保证所有变量在使用之前都被初始化。 类中的基本类型成员,初始化为0(boolean为false);对象引用赋为null(如果程序对null操作,运行时错误-异常)。我们称这种为自动初始化(automation initialization)。 方法中的局部变量,需要手工赋初值,否则编译错误。基于这样的考虑:局部变量未初始化,原创 2009-05-24 01:28:00 · 790 阅读 · 0 评论 -
从完成《JAVA编程思想》第四版 流程控制 练习10的过程中学到的
最近在学习《JAVA编程思想》第四版,做练习是必须的,而在流程控制这一章的练习10的完成过程中,不觉学到了一些东东,值得我记录下来。也许这些东西在后续的章节中会出现,所解决的问题也不成为问题,但毕竟这个过程是我学习的经历,需要我记录。 练习10: A vampire number has an even number of digits and is formed by mul原创 2009-05-19 23:10:00 · 932 阅读 · 0 评论 -
(转自cnblogs)有关于Refactor(重构)与Source(源)的比较
上周发的blog上,谈及Vs.net与Eclipse的比较,在“快速由字段生成属性”的问题与兄弟们发生了争执,有兄弟认为在Vs.net2005重构中“Encapsulate Field...”,可以做到这一功能。我觉得这是一个概念上的错误,因为“封装字段“这个重构方法的本质并不是干这事。 算了,我干脆就谈谈“重构”吧 让我从头说起吧,当然俺的知识有限,肯定有说错的地方。原创 2009-05-24 22:36:00 · 727 阅读 · 0 评论 -
关于java的classpath设置
关于“.”目录默认包 Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4原创 2009-05-25 04:26:00 · 1113 阅读 · 0 评论 -
《JAVA编程思想》第四版学习 需要我记住的something –持有对象
一.保存对象的方式: 1. 数组-编译器支持的类型,效率高,保存一组基本类型推荐使用;但长度固定,不够灵活; 2. 容器-Java实用类库(java.util)提供,基本类型是List、Set、Queue和Map。也成为集合类型(collection classes),但Java类库的Collection另有所指。容器可以动态调整大小。 二原创 2009-06-17 20:46:00 · 2670 阅读 · 0 评论