一、基础
对象的特点:抽象、继承、封装、多态
面向对象最大的好处是可复用
UML统一建模语言
JAVA设计之初的目的:
1.解决C++中的比较复杂的问题(如:内存回收)
2.解决客户机上运行程序的安全问题
3.一次编译,随处运行
数据类型的优先级:
byte,short,char-->int(32位)-->long(64位)-->float(32位)-->double(64位)
byte,short,char之间不会互相转换,他们三者和其他数据类型混合计算时首先会转换为int类型
容量大得数据类型转换为容量小得数据类型时,要加上强制转换符,但可能造成精度降低或溢出;
有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的哪一种数据类型,然后再进行计算。
实数常量(如:1.2)默认为double。
整数常量(如:123)默认为int。
值得注意的是:
数值间的相等比较,本质是比较他们二进制存储是否相等。(0.3f!=0.3 0.5f==0.5)
命名规范:(驼峰命名法)
包:将域名反转之后加上定义的包名,全小写(com.mysoft.util)
类:两个以上的单词,首字母大写,避免缩写
属性/变量:两个以上的单词,首字母小写,禁止包含下划线和美元符号,循环嵌套使用i/j/k
方法:两个以上的单词,第一个单词为动词,首字母小写(一般需要在类的底部写main方法进行测试,调试好后注释掉,一个包含main的方法的类会严重影响类的运行速度)
接口:首字母大写,采用完整的说明后加上able/ible/er
组件(Component):使用完整的说明(e.g.:okButton、cudtomerList、fileMenu)
静态常量(static final):全部采用大写,单词之间使用下划线分隔
JSP文件:尽可能说明JSP的完整的功能,所有单词小写
Servlet类:在所服务的对象后面加上后缀Servlet(e.g.:如UserServlet)
注释规范:实现注释和文档注释/**...*/
文档注释能够通过javadoc工具转换成HTML文件
二、JavaSE
导入包的时候不要使用*的原因:1.程序的速读会变快 2.我们会遇上包名不同但是类名相同的类,这样我们在编程中就会出现编译错误,我们甚至不知道同名类在那个包里面
java中所有未声明继承关系的类都是java.lang.Object类的子类,其lang下的公共类都无需写import
由于StringBuffer为线程安全类,故在使用多线程的时候必须使用StringBuffer类,其不能简单的用+,而是需要使用append连接两字符串
String为址传递,当改变指向同一字符串的String的值的时候会新生成一个新的字符串,但是当new两个一样的值的时候指向的是同一字符串。
StringBuffer为址传递,不会生成新的String,new的也是不同的字符串。
String sbinfoA = new String("haha");
String sbinfoB = new String("haha");
System.out.println(sbinfoA==sbinfoB);
为String 的时候是true,为StringBuffer的时候为false。
类的属性和方法能够被继承,但是其构造器无法被继承,子类必须实现一个或多个其父类的构造器。
finalize/System.runFinalization();通知垃圾收集器自行进行收集该对象,当不存在对该对象的更多引用时。
throw用于方法内部,throws用于方法的定义阶段
(throw new Exception(“账户中余额不足”) public int get money(int sum) throws Exception { ..... })
三、JavaSE高级应用
数据结构:顺序储存Vector(不建议)/ArrayList和名值对储存HashTable(不建议)/HashMap不是synchronize的,允许null 的key和value,允许重复的value,但是不能有重复的key,效率上高于HashTable,都是用的差不多的hash/rehash算法
自动拆箱/装箱:
Integer在-128~127之间的时候是使用缓存的对象,而当不在这个范围内的时候会创建一个新的对象Integer i = 128;
String s = “abc” 为同一对象,String s = new String(“abc”)为new的不同的对象
final:被final修饰的常量在赋值后不可改变,被修饰的方法在在子类继承中不能被覆盖
静态(static):#属性 一般用做缓存,即使用了后所有的类都能够使用
#方法
1.只能访问类内的静态属性和方法,非静态的属性和方法无法访问。
2.使用类中的静态方法,类必须未被实例化,实例化后的类中的静态方法和属性都不能被使用。
|
|
有序否 |
允许元素重复否 |
Collection |
否 |
是 |
|
List |
是 |
是 |
|
Set |
AbstractSet |
否 |
否 |
HashSet |
|||
TreeSet |
是(用二叉树排序) |
||
Map |
AbstractMap |
否 |
使用key-value来映射和存储数据,Key必须惟一,value可以重复 |
HashMap |
|||
TreeMap |
是(用二叉树排序) |
接口:属性必须被实例化,必须为public、static、final,方法都是abstract和public的
使用单例模式:当构造器为private的时候,可以通过使用static方法来在static方法里面调用类的实例化的类。
相关推荐
封装性是面向对象编程的一个核心概念,它指的是将对象的状态(属性)和行为(方法)封装在一起,隐藏对象的具体实现细节,仅对外暴露必要的接口。 **封装的好处:** - **保护内部状态:** 避免外部代码直接修改对象...
从基础的数据类型到面向对象的核心概念,再到高级特性如多态和异常处理,JavaSE 为开发者提供了丰富的工具和支持,帮助他们构建高质量的应用程序。无论是初学者还是有经验的开发者,掌握这些知识都将有助于提高他们...
JavaSE是Java标准版的简称,它是Java编程的基础部分,主要涵盖了面向对象编程、类和对象、异常处理、输入输出、集合框架等核心概念。以下根据题目内容详细解释相关知识点: 1. 抽象类(abstract class)和接口...
面向对象则以对象为核心,强调对象的功能和属性,便于开发大型软件产品,并在软件工程上实现模块化,降低耦合度,提高内聚性。 6. 数据结构与Java数据结构 面试题提到数据结构是计算机保存和组织数据的方式,Java中...
从给出的部分内容来看,文档包含了Java的多个重要概念和知识点,涉及到的包括但不限于Java基础架构、开发平台、编程范式、数据结构、数据类型、OOP(面向对象编程)原则、Java类和对象的关系、Java的特殊类型转换...
Java语言具有跨平台、面向对象、安全性高等特点,在企业级应用开发中非常流行。 5. 框架技术:提到了Spring和Hibernate框架,Spring是Java平台上的一个开源框架,它为Java应用提供了全面的编程和配置模型,可以用于...
Java技术是一种面向对象开发的程序设计语言,由詹姆斯·高斯林主导,现被甲骨文公司收购。Java的平台总共算下来有3个,分别为JavaME、JavaSE、JavaEE这3个Java平台。B/S架构是基于C/S架构的升级改进,使用浏览器访问...
在面对对象编程方面,学生学习了类的组织、结构关系以及面向对象设计原则。此外,数据库设计和SQL的应用也是一大重点,使学生能够进行数据库的创建、管理和数据导入。 在实训过程中,学生面临了一些挑战,如搭建...
### JavaSE面试题知识点详解 #### 一、基础语法 **1. 合法标识符** - 合法标识符由英文大小写字母、数字、`$` 和 `_` 组成。 - 不能以数字开头。 - 不能是 Java 中的关键字。 **2. 运算符(前置后置的区别)**...
掌握JavaSE开发环境的搭建、基础语法、面向对象编程概念、数组操作、常用类的使用、异常处理、集合框架、多线程编程以及IO流的操作至关重要。同时,理解Java的反射机制和注解(Annotation)的运用也是提高编程灵活性...
总结而言,《Java面试题大全.pdf》不仅覆盖了Java的基础知识点,还包括了面向对象的核心概念、常用的数据结构、以及重要的编程细节,对想要在Java领域深入发展的求职者来说,这份资料无疑是一份宝贵的学习和参考资源...
1. B/S和C/S架构:B/S架构指基于浏览器和服务器的架构模式,常用于Web应用;C/S架构指的是客户端和服务器端的桌面应用程序,更注重于本地端的处理能力。 2. Java开发平台:Java主要分为三个平台,包括针对客户端...
- 面向对象编程,这是Java的核心特性,使得程序结构更清晰,易于维护和扩展。 - 平台无关性,通过JVM实现“一次编写,到处运行”。 5. 面向对象与面向过程的区别: - 面向过程编程是从过程出发,注重步骤和执行...
* Java 软件开发技术(包括 B/S 构架企业级软件开发) * 熟悉 JavaBean、JSP、Servlet、JDBC 等 Web 编程技术 Web 开发 * HTML、CSS、JavaScript 及 Ajax 编程技术 * 熟悉 jQuery 框架 * 熟悉 Eclipse 集成开发...
- **面向对象分析与设计**:理解OOP原则,如封装、继承和多态。 - **JavaSE与JavaWeb**:掌握Java基础和Web应用开发。 - **数据库设计与SQL应用**:学习数据库设计原理和SQL语言。 - **软件需求分析与设计**:...
2. **Web开发**: 熟悉B/S架构和JavaEE开发体系,能够进行面向对象的分析和设计。他掌握了HTML、CSS、JavaScript等前端技术,能够进行页面布局和动态控件生成。 3. **应用服务器与操作系统**: 熟练使用Apache Tomcat...
总结起来,Java作为一种强大的、跨平台的编程语言,以其面向对象、可移植、安全和多线程等特点,广泛应用于各种软件开发领域,从桌面应用到大型企业系统,再到移动应用,都有Java的身影。学习Java基础,是进入这个...
JavaEE则针对企业级应用,常用于C/S(客户端/服务器)或B/S(浏览器/服务器)结构的系统,如大型网络游戏和网页应用。JavaME则是为嵌入式设备和小型设备设计,如早期的机顶盒。 Java的语言特点强调了面向对象编程,...
而B/S(浏览器/服务器)系统,即JavaEE的主要应用场景,具有更好的可扩展性和易于维护性,用户只需通过浏览器即可访问,降低了客户端的硬件和软件依赖。 在JavaEE中,JSP技术是用于编写动态网页的关键,它允许...