疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

JAVA程序员必须掌握的知识点了解一下


 

 

 
1、 类、对象的概念:
 
1) 类:具有共同属性和行为的对象的抽象。类是创建对象的模板。
 
2) 对象:现实世界中的实体。在计算机中,是指可标识的存储区域。
 
3) 类是对象的抽象、对象是类的实例。
 
2、 抽象:是从特定的实例中抽取共同性质形成一般化概念的过程。
 
3、 接口与抽象类:
 
1)接口和抽象类都用于抽象,接口是抽象类的抽象。
 
2)接口中只有方法声明,没有实现(无方法体);在接口中声明的方法具有public和abstract属性,一个类可以实现多个接口(即多继承),接口以‘,’分隔;接口中的方法必须全部实现。
 
3)抽象类可以有部分方法实现,抽象类必须通过继承才能使用。
 
4、内部类(Inner Class):
 
1)内部类是嵌套在另一个类中的类。
 
2)内部类用于名称隐藏和程序代码的组织,另外内部类拥有直接访问其外部类所有成员(包括private的)的权限(无需任何关键字修饰)。
 
3)内部类不可以在其他类或main方法里实例化,必须使用如下方法(非静态内部类)
 
外部类.内部类 对象名=new 外部类().new 内部类();
 
静态内部类调用方式:
 
外部类.内部类 对象名=new 外部类.内部类();
 
4)非静态内部类不可以声明静态成员;静态内部类的非静态成员可以访问其外部类的静态成员,声明为静态的成员不可以访问外部的非静态成员。
 
5、访问修饰符限制:
 
Private protected friendly(default) public
 
同类 Y Y Y Y
 
同包不同类 N Y Y Y
 
同包子类 N Y Y Y
 
不同包不同类 N N N Y
 
不同包子类 N Y N Y
 
6、Static关键字的使用:
 
1)类成员,直接使用 类名.成员 调用。
 
2)静态方法只能访问静态成员。
 
3)静态方法不能使用this、super关键字。
 
4)静态方法不能被非静态方法重写或重载。
 
7、final关键字:
 
1)被final修饰的变量为常量不能改变。
 
2)被final修饰的方法不可以重写。
 
3)被final修饰的类不能被继承。
 
8、abstract关键字:
 
1)被abstract修饰的类不能实例化。
 
2)被abstract修饰的方法只能在子类中实现。
 
9、native关键字:非Java语言的编写,例如JNI技术。
 
10、synchronized关键字:多线程的同步访问控制。
 
11、分类列举服务器和组件技术:
 
1)服务器端技术:Jsp、Servlet;
 
2)组件技术:JavaBean、EJB。
 
12、Http与Https:Https即多了安全的Http,s(Security Socket Layer)指加密套接字协议层(简写SSL)。
 
13、OSI(Open System Interconnection)网络抽象模型:
 
1)由国际标准化组织(ISO)提出。
 
2)将互联网分为七层,从下至上分别为:物理层(physical)、数据链路层(data link)、网络层(network)、传送层(transport)、会话层(session)、表示层(presentation)、应用层(application)。底层通过提供接口支持上层功能。各层详解:
 
物理层:LAN/ATM,为硬件层。
 
数据链路层:LAN/ATM
 
网络层:IP协议,IOS
 
传输层:TCP/UDP协议,支持Java Socket。
 
会话层:
 
表示层:HTML、XML
 
应用层:HTTP协议,使用Java Servlet/JSP
 
<第八层(Web服务层):SOAP/UDDI>
 
14、J2EE的容器与服务器:
 
容器负责EJB组件中生命周期的控制;
 
服务器包含在容器外,提供系统级操作底层服务,包括事务、事件、多线程……。
 
15、继承限制:
 
父类对象不可以赋给子类对象,因为子类可能具有更多的成员,反之可以。
 
16、逻辑操作:c=(a>b)?a:b;等同于下式
 
if(a>b) c=a; else c=b;
 
17、列举常见集合框架类型:
 
1)List、Set、Map。由这三个接口实现出ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等常用集合框架。
 
2)Vector属于重量级组件不推荐使用。
 
3)Map类型维护键/值对,Hashtable与HashMap相近但效率略低于HashMap、高于TreeMap,TreeMap优点是可以排序。
 
4)Set类型可装入唯一值,HashSet效率高于TreeSet但TreeSet可以维护内部元素的排序状态。
 
5)List类型可按某种特定顺序维护元素。ArrayList允许快速随机访问,但如果添加或删除位于中间的元素时效率很低;LikedList提供最佳循序访问及快速的中间位置添加删除元素,并有addFirst、addLast、getFirst、getLast、removeFirst、removeLast方法。
 
18、面向对象的特征:
 
1)继承:通过子类可以实现继承,子类继承父类的所有状态和行为,同时添加自身的状态和行为。
 
2)封装:将代码及处理数据绑定在一起的一种编程机制,该机制保证程序和数据不受外部干扰。
 
3)多态:包括重载和重写。重载为编译时多态,重写是运行时多态。重载必须是同类中名称相同参数不同(包括个数不同和类型不同),但返回类型不同不构成重载;重写发生于子类对父类的覆盖,子类继承父类方法名相同、参数列表相同、返回类型相同才构成重写。
 
19、Java命名规范:必须以英文字母、下划线(’_’)或’$’开始,其余可以有数字但不允许 包含空格,且组合后的名称不能是Java关键字或保留字。
 
匈牙利命名法:以m开始为类成员变量,以g开始为全局变量,以v开始为本地局部变量,常量命名一般不以下划线、美元符开始。
 
驼峰命名:一般称由多个单词或缩写组成的变量名,并且该变量名每个单词首字母均为大写(一般类名全部首字母大写,方法或属性名第一个字母小写)的称为驼峰命名。
 
20、Java语言共包含47个关键字。
 
21、设计模式:
 
一个设计模式描述了一个被证实可行的方案。这些方案非常普遍,是具有完整定义的最常用的模式。一般模式有4个基本要素:模式名称(pattern name)、问题(problem)、解决方案(solution)、效果(consequences)。