第2章 一切都是对象2.1 用句柄操纵对象2.2 必须创建所有对象2.2.1 保存在什么地方2.2.2 特殊情况:主类型2.2.3 Java中的数组2.3 绝对不要清除对象2.3.1 作用域2.3.2 对象的作用域2.4 新建数据类型:类2.4.1 字段和方法2.5 方法、自变量和返回值2.5.1 自变量列表2.6 构建Java程序2.6.1 名字的可见性2.6.2 使用其他组件2.6.3 static关键字2.7 我们的第一个Java程序2.8 注释和嵌入文档2.8.1 注释文档2.8.2 具体语法2.8.3 嵌入HTML2.8.4 @see:引用其他类2.8.5 类文档标记2.8.6 变量文档标记2.8.7 方法文档标记2.8.8 文档示例2.9 编码样式2.10 总结2.11 练习 第3章 控制程序流程3.1 使用Java运算符3.1.1 优先级3.1.2 赋值3.1.3 算术运算符3.1.4 自动递增和递减3.1.5 关系运算符3.1.6 逻辑运算符3.1.7 按位运算符3.1.8 移位运算符3.1.9 三元if-else运算符3.1.10 逗号运算符3.1.11 字串运算符+3.1.12 运算符常规操作规则3.1.13 造型运算符3.1.14 Java没有“sizeof”3.1.15 复习计算顺序3.1.16 运算符总结3.2 执行控制3.2.1 真和假3.2.2 if-else3.2.3 反复3.2.4 do-while3.2.5 for3.2.6 中断和继续3.2.7 切换3.3 总结3.4 练习 第4章 初始化和清除4.1 由构建器保证初始化4.2 方法过载4.2.1 区分过载方法4.2.2 主类型的过载4.2.3 返回值过载4.2.4 默认构建器4.2.5 this关键字4.3 清除:收尾和垃圾收集4.3.1 finalize()用途何在4.3.2 必须执行清除4.4 成员初始化4.4.1 规定初始化4.4.2 构建器初始化4.5 数组初始化4.5.1 多维数组4.6 总结4.7 练习 第5章 隐藏实施过程5.1 包:库单元5.1.1 创建独一无二的包名5.1.2 自定义工具库5.1.3 利用导入改变行为5.1.4 包的停用5.2 Java访问指示符5.2.1 “友好的”5.2.2 public:接口访问5.2.3 private:不能接触5.2.4 protected:“友好的一种”5.3 接口与实现5.4 类访问5.5 总结5.6 练习 第6章 类再生6.1 合成的语法6.2 继承的语法6.2.1 初始化基础类6.3 合成与继承的结合6.3.1 确保正确的清除6.3.2 名字的隐藏6.4 到底选择合成还是继承6.5 protected6.6 递增开发6.7 上溯造型6.7.1 何谓“上溯造型”?6.8 final关键字6.8.1 final数据6.8.2 final方法6.8.3 final类6.8.4 final的注意事项6.9 初始化和类装载6.9.1 继承初始化6.10 总结6.11 练习 第7章 多形性7.1 上溯造型7.1.1 为什么要上溯造型7.2 深入理解7.2.1 方法调用的绑定7.2.2 产生正确的行为7.2.3 扩展性7.3 覆盖与过载7.4 抽象类和方法7.5 接口7.5.1 Java的“多重继承”7.5.2 通过继承扩展接口7.5.3 常数分组7.5.4 初始化接口中的字段7.6 内部类7.6.1 内部类和上溯造型7.6.2 方法和作用域中的内部类7.6.3 链接到外部类7.6.4 static内部类7.6.5 引用外部类对象7.6.6 从内部类继承7.6.7 内部类可以覆盖吗?7.6.8 内部类标识符7.6.9 为什么要用内部类:控制框架7.7 构建器和多形性7.7.1 构建器的调用顺序7.7.2 继承和finalize()7.7.3 构建器内部的多形性方法的行为7.8 通过继承进行设计7.8.1 纯继承与扩展7.8.2 下溯造型与运行期类型标识7.9 总结7.10 练习 第8章 对象的容纳8.1 数组8.1.1 数组和第一类对象8.1.2 数组的返回8.2 集合8.2.1 缺点:类型未知8.3 枚举器(反复器)8.4 集合的类型8.4.1 Vector8.4.2 BitSet8.4.3 Stack8.4.4 Hashtable8.4.5 再论枚举器8.5 排序8.6 通用集合库8.7 新集合8.7.1 使用Collections8.7.2 使用Lists8.7.3 使用Sets8.7.4 使用Maps8.7.5 决定实施方案8.7.6 未支持的操作8.7.7 排序和搜索8.7.8 实用工具8.8 总结8.9 练习 第9章 违例差错控制9.1 基本违例9.1.1 违例自变量9.2 违例的捕获9.2.1 try块9.2.2 违例控制器9.2.3 违例规范9.2.4 捕获所有违例9.2.5 重新“掷”出违例9.3 标准Java违例9.3.1 RuntimeException的特殊情况9.4 创建自己的违例9.5 违例的限制9.6 用finally清除9.6.1 用finally做什么9.6.2 缺点:丢失的违例9.7 构建器9.8 违例匹配9.8.1 违例准则9.9 总结9.10 练习 第10章 Java IO系统10.1 输入和输出10.1.1 InputStream的类型10.1.2 OutputStream的类型10.2 增添属性和有用的接口10.2.1 通过FilterInputStream从InputStream里读入数据10.2.2 通过FilterOutputStream向OutputStream里写入数据10.3 本身的缺陷:RandomAccessFile10.4 File类10.4.1 目录列表器10.4.2 检查与创建目录10.5 IO流的典型应用10.5.1 输入流10.5.2 输出流10.5.3 快捷文件处理10.5.4 从标准输入中读取数据10.5.5 管道数据流10.6 StreamTokenizer10.6.1 StringTokenizer10.7 Java 1.1的IO流10.7.1 数据的发起与接收10.7.2 修改数据流的行为10.7.3 未改变的类10.7.4 一个例子10.7.5 重定向标准IO10.8 压缩10.8.1 用GZIP进行简单压缩10.8.2 用Zip进行多文件保存10.8.3 Java归档(jar)实用程序10.9 对象串联10.9.1 寻找类10.9.2 序列化的控制10.9.3 利用“持久性”10.10 总结10.11 练习 第11章 运行期类型鉴定11.1 对RTTI的需要11.1.1 Class对象11.1.2 造型前的检查11.2 RTTI语法11.3 反射:运行期类信息11.3.1 一个类方法提取器11.4 总结11.5 练习 第12章 传递和返回对象12.1 传递句柄12.1.1 别名问题12.2 制作本地副本12.2.1 按值传递12.2.2 克隆对象12.2.3 使类具有克隆能力12.2.4 成功的克隆12.2.5 Object.clone()的效果12.2.6 克隆合成对象12.2.7 用Vector进行深层复制12.2.8 通过序。
对于Java开发学习者来说,基础掌握的知识点有以下几种:
1. Java面向对象的优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。
2. Java虚拟机的概念,任何一种可以运行Java字节码的软件均可看成是Java的虚拟机(JVM)
3. JDK顾名思义它是给开发者提供的开发工具箱,是给程序开发者用的。它除了包括完整的JRE(Java Runtime Environment),Java运行环境,还包含了其他供开发者使用的工具包。
4. JRE的概念,普通用户而只需要安装JRE(Java Runtime Environment)来运行Java程序。而程序开发者必须安装JDK来编译、调试程序。
5. Java中覆盖(Override)是指子类对父类方法的一种重写,子类只能抛出比父类更少的异常,且访问权限不能比父类的小。被覆盖的方法不能是 private 的,否则只是在子类中重新定义了一个方法。
Java中重载(Overload)表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同。
java初学者到精通,要掌握的知识点可以参考如下内容:一、学习DreamWaveMX中文版的网页设计技术。
HTML网页设计,这是最基本的。学习XML的一些基本知识。
初步掌握一些Jscript..的应用。二、学习Java语言。
学习Java语言的第一步是安装好JDK,JDK的环境变量的配置,至于如何配置JDK的环境变量,网上关于这样的文章很多,你可以搜索一下,这里就不多说。配置好环境变量以后,写一个Hello World的小程序测试一下JDK是否已安装成功。
环境变量配置成功以后就可以着手学习Java的语法了,先找一本系统的java程序设计的书,开始最好不要用eclipse等之类的高度集成的IDE环境,用文本编辑器配合JDK就行了,这样助你理解下列几个基础概念:path,class_path,package ,并熟悉基本命令:JDK的最重要命令行工具: java: 启动JVM执行class javac: Java编译器 jar: Java打包工具 javadoc: Java文档生成器 这些命令行必须要非常熟悉。对于这些命令的学习,JDK Documentation上有详细的文档。
下载和你的JDK版本一致的API帮助。三、是学习Java的面向对象的编程语言的特性的地方,比如继承,构造器,抽象类,接口,方法的多态,重载,覆盖,Java的异常处理机制。
可以参照《Thinking in java》这本书,对面向对象的讲解很透彻。四、就是开始熟悉Java的类库,Java的基础类库非常多,但是真正对于我们来说最核心的只有4个,分别是 java.lang.*; java.io.*; java.util.*; java.sql.*; 要知道包有哪些方面的类构成的,这些类的用途是什么,最核心的几个类分别是完成什么功能的。
五、JDK Documentation。通过上面的学习,如果学的比较扎实的话,就打好了Java的基础了,接着要学习Documentation里面除了上面4个包之外的其他一些比较有用处的类。
相信进展到这一步,Java的自学能力已经被培养出来了,可以到了直接学习Documentation的水平了。除了要做GUI编程之外,JDK里面其他会有用处的包是这些: java.text.*; java.NET.*; javax.naming.*; 这些包里面真正用的比较多的类其实很少,只有几个,所以不需要花很多时间。
六、Java Web 编程学习java web 编程之前要先下载安装应用服务器(App Server),比较常用的应用服务器(App Server)有Tomcat 、BEA Weblogic、IBM Webshpere、Jboss 。以Tomcat为例,下载安装Tomcat以后设置两个环境变量: JAVA_HOME=C:/j2sdk1.4.2 CATALINA_HOME=D:/tomcat4 (你的Tomcat安装目录)Java的Web应用至少需要安装JDK和一个web容器(例如Tomcat),以及一个多用户数据库,Web应用至少分为三层: Browser层:浏览器显示用户页面 Web层:运行Servlet/JSP DB层:后端数据库,向Java程序提供数据访问服务七、学习J2EE的基本程序设计。
(1)首先学习JSP动态网页设计。掌握JSP、JAVABEANS、JDBC、JSTL等技术,最好以TOMCAT作为实验环境。
因为它影响力大,虽然性能不怎么的,很多JSP技术讨论都是以它为背景。(2)学习EJB的程序设计思想。
在学习EJB之前要学习对象序列化和RMI,RMI是EJB的基础。接着学习JMS和EJB,对于EJB来说,最关键是要理解EJB是如何通过RMI来实现对远端对象的调用的,以及在什么情况下要用到EJB。
八、学习“设计模式”。可以参照《java设计模式》,这本书学习。
九、学习一些经典框架的应用:(1)struts1.1、webwork2(2)hibernate(3)Ibatis/DAO框架(4)spring十、分析一些经典的应用系统:Jive、XPetstore、JPetstore等。
语言类的,要多上手操作,多做写实例,做几遍就差不多了,把重要的那几个知识点做几遍就差不多了,然后就是应用,单纯语言的学习确实很枯燥,但是应用的话就很有意思了。
比如你学完java之后可以学习做java小游戏,网上找一些游戏框架,然后往上面添加主要的逻辑代码什么的,还是挺有意思的。语言是想通的,学会一门,其他研究研究就会了,比如你也可以去学习做网站,做点实例,做几个就知道简单的网站开发过程是怎么样的了。
语言是基础,如果一直停留在基础上学习的话,确实能提高功底,以后学习其他的东西也确实很快能上手,但是你觉得有必要吗?那些太深的东西,用到的机会是比较少的,不会了找图书,找CSDN,找百度都可以啊,而且那样是自己研究出来的,比这么灌输式学法得到的更深刻。一句话,多实践。
java方面编程的初级学员必需掌握的基础知识:java语言、HTML、JSP以及至少一种数据库。这是最低的标准,但是也是最高的要求,因为基本上其他相关的技术和架构都是基于这些以上的。总之,我觉得都是一通百通,基本上做一个项目就能熟练掌握一种技术。
至于企业方面:本人先后在国内几个大的软件公司工作过,外企也差不多。小公司我没有去过,但是我觉得小公司不能去,学的技术好像很多,但是其实阻碍了一个工程师从一个工程师到项目经理或者技术经理的发展,因为小公司做的不可能是很大的项目,难么架构和设计不那么严谨,这样从宏观来看对一个程序员是没有好处的。
企业方面根据所做项目的不同用到的技术也不一样,而基本上大一点的公司都有自己的主营项目,也就是强项。比如亚信是做通信行业的,目前处在web化阶段,其对于java工程师的需求很大,但是它的核心还是C语言的,所以一个java程序员在这样的公司是不会有多大发展的,也学不到什么东西,值得一提的是这种公司都有自己的工具软件,也就是把一些常用的模块或者功能都做好了,你只要调用就行了,所以基本上你到这种公司学不到高深的技术,以后跳槽也难! 现在大一点的公司都有自己的工具软件,目的是封装常用的模块,缩短开发周期,提高运行效率,但是对于喜欢技术的人来说就没有什么好处了。
最后,想说的是:企业其实需要的是学习能力强的人,踏实肯干就会得到认可。至于技术都是进入公司以后的事情,只要上面说的几样搞清楚了,面试谈的不错,加点技巧就可以了!
java 学习资料要视频干什么呢? 用Eclipse工具自己买本书或者到网上下几个程序源代码研究一下,再写几个小例子就差不多了!
希望可以帮到您,谢谢!
1、对象的初始化(1) 非静态对象的初始化 在创建对象时,对象所在类的所有数据成员会首先进行初始化。
基本类型:int型,初始化为0。 如果为对象:这些对象会按顺序初始化。
※在所有类成员初始化完成之后,才调用本类的构造方法创建对象。 构造方法的作用就是初始化。
(2) 静态对象的初始化 程序中主类的静态变量会在main方法执行前初始化。 不仅第一次创建对象时,类中的所有静态变量都初始化,并且第一次访问某类(注意此时 未创建此类对象)的静态对象时,所有的静态变量也要按它们在类中的顺序初始化。
2、继承时,对象的初始化过程 (1) 主类的超类由高到低按顺序初始化静态成员,无论静态成员是否为private。 (2) 主类静态成员的初始化。
(3) 主类的超类由高到低进行默认构造方法的调用。注意,在调用每一个超类的默认构造 方法前,先进行对此超类进行非静态对象的初始化。
(4) 主类非静态成员的初始化。 (5) 调用主类的构造方法。
3、关于构造方法 (1) 类可以没有构造方法,但如果有多个构造方法,就应该要有默认的构造方法,否则在继承此类时,需要在子类中显式调用父类的某一个非默认的构造方法了。 (2) 在一个构造方法中,只能调用一次其他的构造方法,并且调用构造方法的语句必须是 第一条语句。
4、有关public、private和protected (1) 无public修饰的类,可以被其他类访问的条件是:a.两个类在同一文件中,b.两个类 在同一文件夹中,c.两个类在同一软件包中。 (2) protected:继承类和同一软件包的类可访问。
(3) 如果构造方法为private,那么在其他类中不能创建该类的对象。 5、抽象类 (1) 抽象类不能创建对象。
(2) 如果一个类中一个方法为抽象方法,则这个类必须为abstract抽象类。 (3) 继承抽象类的类在类中必须实现抽象类中的抽象方法。
(4) 抽象类中可以有抽象方法,也可有非抽象方法。抽象方法不能为private。
(5) 间接继承抽象类的类可以不给出抽象方法的定义。 6、final关键字 (1) 一个对象是常量,不代表不能转变对象的成员,仍可以其成员进行操作。
(2) 常量在使用前必须赋值,但除了在声明的同时初始化外,就只能在构造方法中初始化 。 (3) final修饰的方法不能被重置(在子类中不能出现同名方法)。
(4) 如果声明一个类为final,则所有的方法均为final,无论其是否被final修饰,但数据 成员可为final也可不是。 7、接口interface (用implements来实现接口) (1) 接口中的所有数据均为 static和final即静态常量。
尽管可以不用这两个关键字修饰 ,但必须给常量赋初值。 (2) 接口中的方法均为public,在实现接口类中,实现方法必须可public关键字。
(3) 如果使用public来修饰接口,则接口必须与文件名相同。 8、多重继承 (1) 一个类继承了一个类和接口,那么必须将类写在前面,接口写在后面,接口之间用逗 号分隔。
(2) 接口之间可多重继承,注意使用关键字extends。 (3) 一个类虽只实现了一个接口,但不仅要实现这个接口的所有方法,还要实现这个接口 继承的接口的方法,接口中的所有方法均须在类中实现。
9、接口的嵌入 (1) 接口嵌入类中,可以使用private修饰。此时,接口只能在所在的类中实现,其他类不 能访问。
(2) 嵌入接口中的接口一定要为public。 10、类的嵌入 (1) 类可以嵌入另一个类中,但不能嵌入接口中。
(2) 在静态方法或其他方法中,不能直接创建内部类对象,需通过手段来取得。 手段有两种: class A { class B {} B getB() { B b = new B(); return b; } } static void m() { A a = new A(); A.B ab = a.getB(); // 或者是 A.B ab = a.new B(); } (3) 一个类继承了另一个类的内部类,因为超类是内部类,而内部类的构造方法不能自动 被调用,这样就需要在子类的构造方法中明确的调用超类的构造方法。
接上例: class C extends A.B { C() { new A().super(); // 这一句就实现了对内部类构造方法的调用。 } } 构造方法也可这样写: C(A a) { a.super(); } // 使用这个构造方法创建对象,要写成C c = new C(a); a是A的对象。
11、异常类 JAVA中除了RunTimeException 类,其他异常均须捕获或抛出。至于数据库,WEB,JSP,JS之类的那是高级部分了。
6.如何去掉JAVA的内存限制 加 -Xmx参数来设置maximum Java heap size,如: java -Xms10M MyClass 7.什么是Java混淆编译器? mand"; cmd = cmd + " /c " + strCommand; try { Runtime.getRuntime().exec(cmd); } catch (IOException ex) { } strCommand 为命令串,DOS 底下怎么用,这儿就可以怎么用 2.如何得到应用程序的路径 Properties System.getProperties()里面有 3.如何得到当前系统时间? 1.SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd"); String time=formatter.format(new Date()); 2.Calendar cal = Calendar.getInstance(); int year = cal.get(Calendar.YEAR); month=..类推 输入输出 1.是否可以用纯JAVA 编写程序来访问串口? Sun提供了一个叫javax.comm的package,专门用来对serial port进行操作. 2.writeutf和write的区别 /forum_view.ASP?forum_id=19&view_id=921 3.如何利用FileWriter在文本中换行? \r\n 网络相关 1.如何让我的程序通过proxy访问外部网络? System.setProperty("java.proxyHost","your proxy here"); 本地相关 1.如何调用本地的dll? jni 2.如何用java编写扫描仪程序? /forum_view.ASP?forum_id=19&view_id=2741 就着木多了~ 看看能不能帮上你的忙。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:155.677秒