这
是我在刚刚过去的一学期Java课程的期末复习笔记,基于机械工程出版社的《Java程序设计》(
刘慧宁等编著),考试97分的哦,希望对学弟学妹有帮助。
这
里说明的一点的是,以下的一切要点均是我在复习的过程中个人认为值得记录的,不代表Java的重点。
1.Java为什么平台无关
因为Java代码在JVM中是以一种叫字节码的特殊机器码,是一种虚拟的机器码,不面向某种特定的机器。
2.javac.exe Java编译程序---》产生class类的对象
java.exe Java解释程序
3.applet程序中没有main()方法作为入口。
4.Java中,boolean和其他类型数据不能相互转换。
5.char类型数据可参与算术运算,其值为Unicode码值,所以Java中将char归为整数类型。
6.Java中所有基本数据类型占用的存储空间和取值范围是固定的——》平台无关。
7.Java不是一种纯粹的面向对象语言。
8.void方法可以有return语句==》 return;
9.方法重载,方法中相同,参数列表不相同。
10.构造方法: public 类名(); 不是没有返回值,不是void方法,而是:一个引用值,包括该对象的内存地址等信息。
11.基本数据和对象作为方法参数里,传递机制不同,前者传递的是值,后者传递的是引用。
12.数据成员的默认初始化: boolean-false,char-"",byte-0,short-0,int-0,long-0,float-0.0f,double-0.0(0.0d).
13.Java中的对象引用初始值是null,如果访问其成员会报NullPointor异常,但是编译器不能发现这个错误。
14.Java中类的默认构造方法只在该类没有定义任何构造方法里有用,当有自定义的构造方法里,编译器不会再产生一个的构造方法了.(注意,这里的构造方法和无参构造方法有一定的差异的).
15.类(内部类除外),只能用public或没有显式修饰来修饰,不能用其他修饰符(private,protected)来控制类的访问权限.
16.成员访问权限控制
public 所有类可以访问
protected 同个包中的所有类以及所在类的子类
friendly(默认的修饰符) 同一个包中的所有类,子类不能。
private 只有自己可以使用
17.static 修饰类的一个成员变量时,只保留一份存储空间,并且直接通过类名即可访问之。
类的对象同样可以访问之,
利用static从句初始化static成员的典型例子:
//StaticInit.java
class Cat
{
Cat(int i){
System.out.println("Cat("+i+")");
}
void f(int i){
System.out.println("f("+i+")");
}
}
class Cats{
static Cat c1;
static Cat c2;
static
{
c1 = new Cat(1);
c2 = new Cat(2);
} //static 从句结束
Cats(){
System.out.println("Cats()");
}
}
public class StaticInit{
public static void main(String[] args)
{
System.out.println("mian()");
Cats.c1.f(7);
Cats c = new Cats();
}
}
static修饰的方法不能访问类中的其它非static成员。
18.如果一个尖中的成员变量或是成员方法是protected的,很显然,不同包中的非子类将不能访问这个方法或是变量,可是,如果有子类继承这个类,那么别的类的类通过这个子类依然不能访问父类中的protected成员。
19.java在创建子类对象的时候,会自动调用父类的构造方法,变回的是初始化从父类中继承的数据成员。
自动调用的是父类的默认构造方法.
另一种自定义的调用是用super(param list),用这种方法的时候必须将super(param list)放在子类构造方法的第一句话.
20.如何理解"与关键字this相同,类方法中没有相应的super引用"
不能把this和super就当作类来使用,如:super s = new super(); 这是错误的。
21.在继承内容中还应该注意的一点是注意的是要明白:
什么是重载,什么是重写。
子类对父类方法进行overwrite时,只能提高其访问权限,即:private--》protected--》public 反向不行,编译器会报错。
final方法可以重载,不可重写
类的私有方法都是final的,但子类中可以构造一个名字相同一样的方法,原因在于private对于子类不可见,于是这个过程不是覆盖,而是子类中写了一个和父类相同但是却没有任何关系的方法。
22.final类,无子类,不可被继承
所有方法均是final的,可以不显示的指明
所有数据成员可以不是final的,且默认不是final的。
23.类因有抽象方法成为抽象类,abostact
所以并不是抽象类必须要有抽象方法的,也就是说可以出现如下情况:
一个抽象类中没有一个抽象方法。
24.抽象类不能实例对象。
25.子类继承抽象类时,不必一定要实现父类的所有抽象方法的,如果子类没有完全继承父类的所有抽象方法时,这个子类还是抽象的。
26.interface中
方法默认是public abstract的,不必显示声明
数据成员默认是public final static的,也不必显示声明。
27.和继承抽象类一样,implements接口的时候,也不一定要实现接口中的所有方法,如果没有实现上一个接口的所有方法时,则必须声明为abstract。
28.当子类继承一个类,并实现多个接口时的问题:
interface A{
int I = 10;
void f();
}
interface B{
int I=2;
int f(int i);
}
class C{
public void fun(){ }
}
class D extends C implements A,B{
int i = A.I; //访问第一名的常量时必须以接口的名字为前缀
public int f(int i ){
return i;
}
}
分析以上代码,我们可以得出以下结论
:
1.如果接口和父类中同时有一个同名的变量,那么子类访问这些变量时必须以类名,r接口名作为前缀,如:A.I,B.I……,
2.如果子类 D 从父类继承的方法已经可以实现某个接口中的方法时,则可以不必来对这个方法进行重写以达到实现的目的,当然,重写后实现是允许的。
3.注意以下两类接口的不可同时实现性:
interface A{
void f();
}
interface B{
int f();
}
仅仅方法类型不一样的方法无法同时进行实现。
后续:http://nileader.iteye.com/blog/581210
分享到:
相关推荐
在准备广东工业大学大三第一学期的期末考试时,考生需要全面复习这些知识点,并通过历年试题和复习题进行练习,以提高理解和应用能力。同时,结合实际案例和编程实践,可以更深入地理解和掌握这些理论。
【Java期末考试复习知识点】 1. 计算与比较班级平均成绩和方差 在这个编程题中,我们看到了如何计算两个班级的平均成绩和方差。平均成绩的计算是通过对所有分数求和后除以分数的数量。方差则是通过计算每个分数与...
大连东软信息学院大三下学年LinuxC期末考试复习题整理!
大三期末设计基于java的新闻发布cms系统源码.zip大三期末设计基于java的新闻发布cms系统源码.zip大三期末设计基于java的新闻发布cms系统源码.zip大三期末设计基于java的新闻发布cms系统源码.zip大三期末设计基于java...
大三下学期期末复习: 卷 64G 的文件夹 PATH 列表 卷序列号为 364D-CC52 G:. │ ..txt │ ├─jsp课件 │ 1.ppt │ 2.ppt │ 3.ppt │ 4.ppt │ 5.ppt │ 6.ppt │ 7.ppt │ 8.ppt │ ├─matlab课件 │ 数字图像...
【本人专注IT领域】:有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为您提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【适合场景】:相关项目设计中...
【大三机械设计课程设计】是一项针对上海海事大学物流工程学院大三学生的实践性学习任务,旨在让学生深入了解和掌握机械设备的设计原理与方法。在这个过程中,学生需要完成一系列设计计算和分析,涵盖从传动装置的...
【大三JAVA课程设计(学籍管理系统)】 这个项目是一个基于JAVA的学籍管理系统,它采用了GUI(图形用户界面)来提供用户交互。GUI的实现主要依赖于Swing包,这是JAVA提供的一种用于构建图形应用程序的工具包。该...
2019年大三上各科期末考试复习笔记(自整理版本)_2019-FinalExam-Notes
大三期末自己搜寻的期末复习资料_-
北京邮电大学《数据库》期末复习资料.pdf 本资源摘要信息涵盖了数据库系统的基本概念、数据库设计、数据模型、关系代数、SQL语言、数据库安全、数据独立性等多方面的知识点。 1. 数据库系统的基本概念: 实体-联系...
数据库期末复习总结大三复习资料.docx 本文档总结了数据库管理的基本概念、数据库系统的结构、实体关系模型、数据库设计的基本步骤和规范化理论。 一、数据库管理的基本概念 数据库管理是指对数据的采集、存储、...
大三第一学期思想汇报1.docx
计算机Java专业课,所有上课资料 PPT+课堂练习+课时作业+期中、期末考试作业,只有你想不到,没有你找不到。包括代码 计算机Java专业课,所有上课资料 PPT+课堂练习+课时作业+期中、期末考试作业,只有你想不到,...
【算法设计与分析】 ...以上就是大三下学期复习资料中关于“算法设计与分析”这一主题的主要知识点。深入学习和实践这些内容,不仅能提升编程能力,也为后续的研究生学习或职业生涯奠定了坚实的基础。
大三上期末复习_ThreeUpFinalExam
本人十余年JAVA从业经验,精通JAVA高可用、分布式、高并发系统架构设计。有志于做JAVA职业规划、技术提升的可与我联系,交个朋友~ 本人十余年JAVA从业经验,精通JAVA高可用、分布式、高并发系统架构设计。有志于做...
《【大三第一学期自我鉴定】大二的第一学期自我鉴定》.doc
大三上期末复习资料(GZHU)