第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的面向对象思想.
刚刚开始学习的时候千万别用什么集成开发环境,比如说eclipse那样的的开发工具,直接用记事本或者是EditPlus或者是UltraEdit32等文本编辑器.那样你学习起来更快.自己学着怎么搭建开发环境.
如果是出学者的话建议你买本张孝祥的JAVA就业培训教程,讲得很清楚,注意学习集合类,IO等方面的知识,如果你要向J2ME方向发展的话就要学习SWING等方面的知识.
JAVA核心技术和JAVA编程思想都不太适合初级学者,因为我就是一个学法律转型学计算机的.在刚刚开始接触JAVA的时候我买了这两本书,根本看不懂是个什么意思.等到现在回头再看,真是受益非浅.
如果是要视频方面的知识的话建议你看马士兵的,因为张孝祥的基础视频讲得有点罗嗦.
祝你学习愉快!
-A- AJAX: (建议不译,原因:专有名词) [Asynchronous JavaScript and XML,异步JavaScript及XML] annotation: 注解 Ant: (建议不译,原因:专有名词) AOP: (建议不译,原因:专有名词) [aspect-oriented programming, 面向层面编程] application: 应用 argument: 参数 -B- B2B: (建议不译,原因:专有名词) [Business-to-Business, 业务对业务] BAM: (建议不译,原因:专有名词) [Business Activity Monitoring, 业务活动监测] BMP: (建议不译,原因:专有名词) [bean-managed persistence, Bean管理的持久化] BPEL: (建议不译,原因:专有名词) [Business Process Excution Language, 业务流程执行语言] BPM: (建议不译,原因:专有名词) [Business Process Modeling, 业务流程建模] build: 建立;编译 -C- C2B: (建议不译,原因:专有名词) [Consumer-to-Business, 客户对业务] CAD: (建议不译,原因:专有名词) [Computer Aided Design, 计算机辅助设计] CAM: (建议不译,原因:专有名词) [Computer Aided Modeling, 计算机辅助建模] case-insensitive: 大小写不敏感 case-sensitive: 大小写敏感 container: 容器 cluster: 集群 CMP: (建议不译,原因:专有名词) [container-managed persistence, 容器管理的持久化] component: 组件,部件 configuration: 配置 context: 上下文,环境 control: 控件 convention: 约定 CORBA: (建议不译,原因:专有名词) [Common Object Request Broker Architecture,公共对象请求代理体系] COS: (建议不译,原因:专有名词) [Common Object Services,公共对象服务] couple: 耦合 CRUD: 专指数据库操作create, read, update, delete,可以不译 -D- Daemon: (建议不译,原因:专有名词) [Internet中用于邮件收发的后台程序] DAO: (建议不译,原因:专有名词) [Data Access Object, 数据访问对象] data: 数据 DBMS: (建议不译,原因:专有名词) [Database Management System, 数据库管理系统] DDL: (建议不译,原因:专有名词) [Data Definition Language, 数据定义语言] Declarative Programming: 声明式编程 delegate: 委托 Dependency Injection: 依赖注入 deploy: 部署 deserialize: 反序列化(也可译为反串行化),即取出 dialect: (行业)术语 directive: 指令 DIT: (建议不译,原因:专有名词) [Directory Information Tree, 目录信息树] DML: (建议不译,原因:专有名词) [Data Manipulation Language, 数据操作语言] DNS: (建议不译,原因:专有名词) [Internet Domain Name System, 因特网域名系统] domain: 域 DSL: (建议不译,原因:专有名词) [Domain-Specific Languages, 特定领域语言] DTOs: (建议不译,原因:专有名词) [data transfer objects, 数据传输对象] -E- EAI: (建议不译,原因:专有名词) [Enterprise Application Integration: 企业应用集成] ECC: (建议不译,原因:专有名词) [error correcting codes: 错误纠正代码] EIS: (建议不译,原因:专有名词) [Enterprise Information System: 企业信息系统] EJB: (建议不译,原因:专有名词) [Enterprise JavaBean, 企业JavaBean] encapsulate: 封装 ESB: (建议不译,原因:专有名词) [Enterprise Service Bus, 企业服务总线] event: 事件 -F- FAQs: (建议不译,原因:专有名词) [Frequently Asked Questions, 经常提问的问题] FIFO: 先进先出 [First in, First out] fire: 触发 firewall: 防火墙 framework: 框架 function: 函数 -G- GoF: "四人帮",对名著Design Patterns-Elements of Reusable Object-Oriented Software的四名作者的"戏"称。
[Gang of Four] granularity: 颗粒性,颗粒度 GUI: (建议不译,原因:专有名词) [Graphic User Interface: 图形用户接口] GUID: (建议不译,原因:专有名词) [Globally Unique Identifier: 全球唯一标识符] -H- hard-coding: 硬碥码 Hibernate: (建议不译,原因:专有名词) [一种为应用程序提供持久化服务的框架] -I- IDE: 集成开发环境 [Integrated Development Environment] implement: 实现 internet: 因特网 (也可以不译,原因:在中文环境下已经得到充分理解及认同) intranet: 企业内部网 IoC: (建议不译,原因:专有名词) [Inversion of Control, 控制反转] -J- JavaBean: (建议不译,原因:专有名词) JCP: (建议不译,原因:专有名词) [Java Community Process, Java社区研究] JDBC: (建议不译,原因:专有名词) [Java DataBase Connectivity, Java数据库连接] JDO: (建议不译,原因:专有名词) [Java Data Objects, Java数据对象] JES: Java企业系统 [Java Enterprise System] JOnAS: (建议不译,原因:专有名词) [ Java Open Application Server, Java开放应用服务器] JNDI: (建议不译,原因:专有名词) [Java Naming and Directory Interface, Java命名与目录接口] JTA: (建议不译,原因:专有名词) [Java Transaction API: Java事务API] JVM: (建议不译,原。
一、先明白了解什么是Java的四个方面。
初学者先弄清这些Java的基本概念也是必不可少的,死记硬背肯定是不行的,重在理解,理解它们之间的区别,分别有哪些应用。想想这些代码中用到了哪些知识点。
不要一味地照着书本敲代码。而不去理解。
要知道java是分两部分的:一个是编译,一个是运行。 二、掌握静态方法和属性 静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。
Java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中不被频繁地使用。
理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用。 因此学习者应该理解静态方法和属性。
Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和c++是不同的。 三、初学者还需明白JAVA的三个技术平台的关系。
Java分为三个体系,分别为Java SE JavaEE Java ME 要知道java是分两部分的:一个是编译,一个是运行。 。
Java 基本知识点概要1. 了解Java语言的特征,掌握JDK(Java开发工具包)的安装、目录层次、环境变量配置,Java程序的实现过程 a).J2SE 1.6( JDK1.5)的安装:(推荐路径) Jdk路径: C:\Soft\JDK1.6 Jre路径: C:\program files\Java\jre1.6.0\。
b).环境变量配置: 我的电脑--〉右击属性--〉高级--〉环境变量--〉新建 变量名 变量值Java_Home C:\Soft\JDK1.6Path %Java_Home%\binClassPath %Java_Home%\jre\lib\rt.jar;.c).编写Java源文件(Xxx.java)==>编译成字节码 (javac Xxx.java) ==>执行字节码文件 java Xxx 2.Java语言基础 a). 数据类型: 8种基本类型:byte,char,short,int,long,float,double,boolean 引用类型: 数组, 类,接口 b).结构化语句: if,if--else ,if--else if ,switch--case,while,do--while,for c).数组 int num[]={1,2,3,4,5}; <> int []num={1,2,3,4,5}; int num[]=new int[size]; int num[]=new int[]{1,2,3,4,5}; 3.面向对象的基础 a).类:具有相同属性和行为的一组对象的集合 b).对象:客观存在的或可被描述的抽象对象,具有特定属性和行为的实体。 c).类是对象的模板(原型),对象是类的具体实例 d).抽象、封装、继承,多态(重载,重写,接口多实现) e).构造方法(默认构造器/参数化构造器) f).限制访问修饰符: private,缺省(默认),protected,public g).附加修饰符:final,static,abstract h).接口 4.Java 基础包 a). java.lang : 包装类(Byte,Character,Short,Integer,Long,Float,Double,Boolean) 其它类:String,StringBuffer,Math,Class,Object b). java.util 随机类:Random 日期类:Date,Calender 集合框架体系:Collection,List,Set,ArrayList,LinkedList,Vector,HashMap c). java.io 文件类:File 字节流:FileInputStream,FileOutputStream 字符流:FileReader,FileWriter,BufferedReader,BufferedWriter 二进制流:(了解) DataInputStream,DataOutputStream 构造键盘流:BufferedReader input=new BufferedReader(new InputStreamReader(System.in)); d). java.swt /javax.swing 容器类组件:JFrame,JPanel,JScrollPane 组件: JLabel,JTextField,JPasswordField,JTextArea,JComboBox, JRadioButton,JCheckBox,JMenuBar,JMenu,JMenuItem 5.JDBC 数据库连接 数据库的连接步骤: 1). 加载数据库驱动类: Class.forName(driver) 2). 通过驱动程序管理器获取连接: DriverManager.getConnection(url,user,password) 3). 基于连接对象建立处理器对象/预处理器对象 Statement stmt=conn.createStatement(); PreparedStatement stmt=conn.prepareStatement("insert into student values(?,?,?,?,?)"); 4). 处理器执行SQL命令(Select/Insert/Update/Delete)executeQuery(Select) ==>返回查询的结果集(ResultSet, ResultSet.getXXX(列编号,从1开始)) executeUpdate(Insert/Update/Delete) ==>返回执行命令影响的记录行(int) 5). 关闭各个对象 导入java.sql包 一、加载要连接数据库的驱动程序 Class.forName(driver) 注:Class.forName()方法将给定的类加载到JVM,如果系统中不存在给定的类, 则会引发异常 二、通过驱动程序管理器得到连接实例 Connection conn=DriverManager.getConnection(url,user,pwd); 注1:DriverManager类跟踪已注册的驱动程序,通过getConnection(URL)方法, 找到一个能够连接至URL中指定的数据库驱动程序,它接收三个参数, 分别表示: 数据源的名称(类型) 、用户名(可选)、密码(可选) 注2: 1). localhost 表示本机,也可以用127.0.0.1 如果你连的不是本机,可能通过 机器名 或 IP(192.111.113.100) 来连接 2). 1433是端口号,SQL server默认是1433 , 自己可以手工的改动它 3). databasename后面跟你的数据库的名称,表示你要连接的数据库是哪个 4). 最后是用户名及密码, 当前可以访问该数据库的用户及密码 注3:基于不同连接方式和不同类型的数据源连接字符串如下: 1. Jdbc-Odbc桥 (SQLServer/Microsoft Access )数据库 1.1 加载驱动程序: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 1.2 建立数据源(控制面板中配置数据源,MyDataSource是数据源名称) conn=DriverManager.getConnection("jdbc:odbc:MyDataSource"); 2. 直连SQLServer 驱动程序: -- SQLServer 2000: 2.1 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 2.2 conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;dataBaseName=DBName","sa",""); -- SQLServer 2005: 3.1 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 3.2 conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433; dataBaseName=DBName","sa",""); -- 直连Access 驱动程序: 4.1 加载驱动程序: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 4.2、不建立数据源 ,直接写连接字符串 conn=DriverManager.getConnection("jdbc:odbc:;Driver=Microsoft Access Driver (*.mdb);DBQ=Test.mdb"); 注: 1). DBQ后面指定的是要连接的Access 数据库 2). Microsoft Access driver (*.mdb) 中。
对于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学习第一个重点难点——JDK开发环境安装
首先是Java开发环境的各种版本选择,一般情况下我们需要从JDK官网下载最新版本的JDK文件(但是还需要注意你所学习的图书或者视频使用的是哪个版本的JDK),根据自己电脑的系统选择对应的安装包。
其次在安装过程中一定要设置环境变量的路径,这个过程非常关键,会直接影响你的JDK是否可以正常使用。最终还要在“命令提示符”中验证,是否已经真正地完成了JDK的安装。
Java学习第二个重点难点——变量的理解
变量是入门Java开发的首个概念性的思维转变,目前所有的编程语言都是完成人类语言到机器语言的转变过渡方式。变量则是贯穿整个Java编程开发的核心知识点。例如变量的各种不同的类型、变量的命名规则、变量之间的转换、变量赋值时的初始化的理解,变量的相关运算符的使用等等。
Java学习第三个重点难点——OOP面向对象编程思想
Java作为高级编程语言,最大的特点就是采用面向对象编程思想,与面向过程的编程方法相比,OOP能够大幅度的提高代码运行效率。在面向对象中需要重点理解类、对象、抽象类、接口、封装、集成和多态的概念。在Java编程开发中,大部分实战项目都是采用面向对象的思维进行开发,因此重点理解和掌握OOP是学习Java编程开发的重中之重。所以掌握面向对象的概念并且能够熟练运用是一个Java开发工程师最基本要求。在学习过程中,应该尽可能多地去进行实操练习。
Java学习第四个重点难点——多线程
在大型项目中,多线程是众多Java程序员的技术门槛,单纯的概念理解可能并不是很困难,最重要的是要掌握多线程的核心原理以及多线程的实际应用。包括多线程的创建、现成的 生命周期、锁的概念、线程安全等问题。在实际编程开发中,多线程是出现BUG最多的位置,而避免BUG出现的最好方法就是深刻理解多线程的原理,总结归纳多线程经常出现异常的位置,并快速响应找到对应的解决方案。
Java学习中的第五个重点难点——异常
异常是每一个Java开发者不可避免的问题。包括Error、Runtime Exception、Exception、throw自定义异常等等。之前接触到很多同学遇到异常就会手忙脚乱,其实大部分异常都是可以通过调式解决掉,也有很多异常是由于开发者的编码错误引发的,因此遇到异常首先要分析异常产生的原因,逐层去调式获取引发异常的位置,然后不断的总结归纳引发异常的各种原因,在学习工作中不断的提高自己解决问题的能力。学习异常的方法有两种,一种就是系统地去了解各种异常的种类,并理解其引发异常的原因,在实际遇到问题的时候先套用方法,然后再寻找不同的解决方案。另外一种方法就是学习中进行大量的练习,在练习过程中遇到异常后根据实际情况去排查异常产生原因并总结归纳。
Java学习中的其他重点难点
虽然在文中没有重点提到循环、构造函数、I/O和序列化、各种设计模式等等关键内容。对于初学者来说,每一个新的知识点都有一个理解到运用的过程,最重要的是能在学习中掌握所学知识点的底层原理和实际应用。Java编程开发作为一门实操性非常强的技术,单纯的理论知识无法支撑你的快速就业,能够真正动手编码并实现相应的功能才是学习Java最终的目的。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:3.363秒