thinkinjava
㈠ java课程问题
如果有这样宣传的培训班,我建议你不要去。
跟着培训班学完这一整套至少得四至六个个月的时间而且是全日制脱产学习(我身边有好几个哥门参加过相关的培训),如果你已经学过编程的话,你也应该知道熟练掌握一门语言关建在于多多练习,课程的学习如果没有相关的实践练习作辅助的话,一切都是空话。
宣称两个月能学完的,我想两个月下来最多也就是照本宣科的学完课本,不会有太大的收获!
㈡ 有c语言基础 学习JAVA 看什么书
C语言是面向过程的,Java是面向对象的,思想不一样,一门语言的基础部分不过是一些关于数的类型,字符的类型的定义。但是就是这些简单的组合,组成复杂的系统。
学Java不一定要C基础,单从语言本身,你买的基础教材都会教你java的一些基本知识,所以没C基础一样学Java。但是有C基础能够让你学Java稍微轻松点,毕竟都是程序语言,在基础结构上是类似的。我想这就是为什么绝大部分大学课程都会把C语言放在大一,并不是要教学生用C语言写出多丰富的东西,而是让他们通过C语言理解程序的一些思想。
虽然不学C也可以学Java,但是语言是相通的,学会了C再学Java会很顺利,直接学java会很不爽,不信问问哪个Java高手不会C语言啊!这根本不是汉语和英语的那样的关系,要知道Java是由C++改进来的,而C++是c的扩展,你说没关系行吗?
Java不需要学习c语言,但是c语言是比较基础的语言,学过基础的东西之后再学其它的编程语言将会很轻松。
下面给你推荐Java书籍:
关于基础知识,建议选择国内的入门书籍,各大高校编写的书籍都可以,比如说《Java从入门到精通》,《java面向对象编程》。。。等等。- 最新Java精讲视频,PDF书籍教程,面试题,学习手册点击下载shimo.im
java语言学习基础很重要,基础很重要,不要冒进突击。
java语言书籍选择要遵循从易到难,国外优先,理论和实践相结合的书籍优先
选好书籍应该不要贪多,1-2本深深啃,结合一个项目仔细练习这样你就可以快速掌握了
不要选择什么二十小时,高手,名字夸大那些书籍,华而不实。
国内IT论坛要经常逛,学习书籍的一些解读或者简评在里卖弄都会
2.关于java的API的知识学习,最好的就是JAVA自带的手册,有中文版版本的,在网上有电子版的,也有纸质书籍,可以选择。文件41个电子书下载地址企鹅峮:六八六八二七六三
3.关于深入学习java的API的知识可以参考《JAVA核心技术》,当然是你在仔细学完1-2步骤的书籍再看啦,这个比较深,国外写作思路和国内不大一致。
4.关于学习面向对象的JAVA知识方面,可以参考最经典书籍《JAVA编程思想》,这本书比较经典,国内学习java的大牛们都推荐,所以最好仔细研究学习。这本书算是JAVA的红宝书了。
5.关于学习练习的书籍,就不推荐了,最好的就是java自带的例子了,包含了各种应用实例,可以仔细研究,每个例子做透,你也就入门了。
6.关于java应用的书籍很多,神马都有,根据应用方向去选择与挑选。不要选国内的,一般国内的都是名字响亮,但是内容糟粕多见。
7.目前比较多的应用方向一般是android方面了,可以学习下android框架哪本书籍,这个设计知识广,建议去或者google相关论坛,看看牛人们怎么学习。
8. 简单讲这么多,主要是正对java入门者选择书籍的问题,高手们有啥更好建议建议留言交流。
注意事项
㈢ 学习java用什么书好
1.《Java编程规范》 适合对象:初级、中级
介绍:这本书的作者是被誉为Java之父的James Gosling,入门者推荐阅读,对基础的讲解很不错。
2.《Java编程思想》 适合对象:初级、中级
介绍:豆瓣给出了9.1的评分,全球程序员广泛赞誉。有人说这本书不适合初学者,不过小编认为作者并没有对读者已有的知识经验有过多要求,只是要求读者需要知道基本的程序语言。作者以通俗易懂及小而直接的例子一个个晦涩抽象的概念,需要花时间细细研读。
3.《Java核心技术:卷I基础知识》 适合对象:初级、中级
介绍:官方机构图书,备一本总是没错的。这本书比较全面也通俗易懂。可以当字典的功能来用,学习入门必备。
4.《Java数据结构和算法》 适合对象:初级、中级、高级
介绍:这本书目前基本断货,足以说明抢手程度。作者主要使用Java语言描述了我们常用的数据结构,值得一看。
5.《Java与模式》 适合对象:中级、高级
介绍:难得一见的国人写的Java好书。主要讲解设计原则以及最为常见的设计模式的实用教材。这本书出现的比较早,是初级到中高级必读的图书之一。
6.《SCJP学习指南》 适合对象:初级、中级
㈣ ThinkinJava看到的问题
因为对House类进行初始化时,
先初始化静态变量,再初始化非静态变量,最后执行构造函数
因为House里都是非静态变量,所以会先给w1,w2,w3这三个非静态变量分配内存空间
但此时w1,w2,w3都是null。
然后初始化时,按非静态变量的顺序执行,
此时输出
window(1)
window(2)
window(3)
然后执行构造函数,输出
House()
window(33)
最后调用方法,输出
f()
㈤ Think in Java 中文版(第四版)那里有下的
http://www.intsci.ac.cn/users/luojw/ebook/ThinkinJava.pdf已测,可下
㈥ Java 枚举型为什么是静态的,以及是怎么实现的
是的,Java枚举型是静态常量,隐式地用static final修饰过。
确切地说,Java枚举型是“静态常量”,这里面包含了两层意思:
枚举型中的实例隐式地用static final修饰过。
枚举型作为某个类中的成员字段也隐式地用static final修饰过。
public class Traffic{
public enum Light{GREEN,YELLOW,RED}
}
还是你上面这个代码,反编译一下,你就能看到--编译器背着你偷偷做了哪些手脚:
/*
* Decompiled with CFR 0_118.
*/
package com.ciaoshen.thinkinjava.chapter19;
public class Traffic {
public static final class Light
extends Enum<Light> {
public static final /* enum */ Light GREEN = new Light();
public static final /* enum */ Light YELLOW = new Light();
public static final /* enum */ Light RED = new Light();
private static final /* synthetic */ Light[] $VALUES;
public static Light[] values() {
return (Light[])$VALUES.clone();
}
public static Light valueOf(String string) {
return Enum.valueOf(Light.class, string);
}
private Light() {
super(string, n);
}
static {
$VALUES = new Light[]{GREEN, YELLOW, RED};
}
}
}
首先,枚举型Light是个实实在在的类。继承自基类Enum<Light>。然后在你不知情的情况下,偷偷加了static final修饰词。
然后三个枚举实例GREEN, YELLOW, RED也确确实实是Light的实例。然而前面也加上了static final。
然后构造器也被偷偷地阉割成private。这种实例控制手段,是不是在单例器模式里也见过?所以枚举也是实现单例器的一种方法。
然后编译器还偷偷合成了Light[]数组,一个values( )方法,一个valueOf( )方法。这个values( )在Enum的文档里都找不到。
如果在Enum里定义一个相关方法,你还会看到一个匿名内部类:
public enum Light{
GREEN{public void show(){System.out.println("Green");}},
YELLOW{public void show(){System.out.println("Yellow");}},
RED{public void show(){System.out.println("Red");}};
}
反编译的结果如下:
/*
* Decompiled with CFR 0_118.
*/
package com.ciaoshen.thinkinjava.chapter18;
import java.io.PrintStream;
public class Light
extends Enum<Light> {
public static final /* enum */ Light GREEN = new Light("GREEN", 0){
public void show() {
System.out.println("Green");
}
};
public static final /* enum */ Light YELLOW = new Light("YELLOW", 1){
public void show() {
System.out.println("Yellow");
}
};
public static final /* enum */ Light RED = new Light("RED", 2){
public void show() {
System.out.println("Red");
}
};
private static final /* synthetic */ Light[] $VALUES;
public static Light[] values() {
return (Light[])$VALUES.clone();
}
public static Light valueOf(String string) {
return Enum.valueOf(Light.class, string);
}
private Light() {
super(string, n);
}
static {
$VALUES = new Light[]{GREEN, YELLOW, RED};
}
}
总之,Java的Enum枚举型整个就是一个大大的“语法糖”。明明是一个完整的类,但只向用户暴露几个静态常量,隐藏掉大部分实现的细节。
㈦ thinkinjava_P192页的一道例题看不明白
这是对接口编程的思想
sequence.selector()返回的是SequenceSelector的一个实例,而SequenceSelector是Selector的一个实现,当然可以Selector selector = sequence.selector(); 其实也就是Selector selector = new SequenceSelector();
㈧ 谁有Java 游戏编程开发教程这本书二人麻将游戏源代码或这本书的电子版
基础的要看java学习笔记,台湾陈信良写的,他是sun的官方出题官,很好,特别适合初学的人看,有的基础之后再看thinkinjava,那个没有基础看的糊涂
㈨ 问一个关于Java方法中参数的传递问题
被String引用的那个对象不可以被修改,但这个引用可以指向别的对象——这是String的基本属性
或者奇葩一点说,Java中,引用也是一种值。所以搜索一下也能看到这样的说法:“java中只有值传递,没有引用传递”