资源描述
java基础英语
Java常用英语汇总
1. 第1天
1.1. 常用单词
1. Open [ˈəupən]
adj. 敞开的,开着的;公开的,公共的;坦率的;有议论余地的;
vt.& vi. (打)开;开始;睁开;启动;
n. 户外,野外;空旷;公开;
vi. 使打开;展示,显现;
vt. 张开;开放;开张营业;为(建筑物)揭幕
2. Source [sɔ:s]
n. 根源,本源;源头,水源;原因;提供消息的人;
vt. (从…)获得;发起;向…提供消息;寻求(尤指供货)的来源;
vi. 原料来源;起源;寻求来源;寻求生产商(或提供商)
3. Closed [kləʊzd]
adj. 关闭着的,封闭着的;密闭着的,保密的;<美>准备好了的,定了契约的;
v. “close”的过去式和过去分词
4. JDK
abbr. Java Developer's Kit java 开发工具包;
5. JVM
abbr. Java Virtual Machine Java虚拟机;
6. demo [ˈdeməʊ]
n. 演示;示威;样本唱片;民主党员;
7. path [pɑ:θ]
n. 小路,路;路线,路程;〈比喻〉(人生的)道路;(思想,行为,生活的)途径;
8. directory [diˈrektəri]
n. 人名地址录,(电话)号码簿;(计算机文件或程序的)目录;
adj. 指导的,指挥的;咨询的;管理的;
9. public [ˈpʌblik]
adj. 公众的,公共的;公开的;政府的;人人知道的,知名的;
n. 大众;社会;公共场所;(文学家等的)爱读者;
10. main [mein]
adj. 主要的,最重要的;全力的;
n. 最主要的部分,重点;主要管道;体力;[航海]公海;
11. classpath
类途径;
12. Test [test]
n. 试验;考验;测验;化验;
vt. 测验;考查;考验;勘探;
vi. 受试验;受测验;受考验;测得结果;
1.2. 知识要点
理解JDK,JRE,JVM都是做什么的,他们的区别?
必会知识点:
掌握常用的DOS命令.
掌握用JAVA_HOME方法配置path环境变量
掌握hello world程序的书写.
2. 第2天
2.1. 常用单词
byte [bait] 字节
short [ʃɔ:t] 短整型
int [int] 整型
long [lɔ:ŋ] 长整形
char [tʃɑ:] 字符型
String [striŋ] 字符串类型
float [fləut] 单精度浮点类型
double ['dʌbl] 双精度浮点型,双倍
type [taip] 类型
boolean ['bu:li:ən] 布尔类型真假二值
true [tru:] 真,正确的(成立的)
false [fɔ:ls] 假,错误的(不成立的)
binary ['bainəri] 二进制
octal ['ɔktəl] 八进制
hex [heks] 十六进制
2.2. 知识要点:
1:常量(掌握)不难但重要
2:变量(掌握)不难但重要 int a = 2;
3:数据类型(掌握)不难但重要
4:运算符(掌握) 难点也是重点,以下运算符是需要掌握的
5:% 取模(取余)
6:++ -- 自增 自减
7:+= -= 加等于 减等于
8:三元运算符
A :(条件表达式)?表达式1:表达式2;
**如果条件为true,运算后的结果是表达式1;
**如果条件为false,运算后的结果是表达式2;
B:条件运算符运算完之后一定有一个结果
举例:
int a = 1;
int b = 2;
int c = 0;
c = (a>b)?10:20;
9:& 和&&区别
10:| 和 ||区别
3. 第3天
count [kaunt] 计数;计算;(计数器思想,上课注意听)
sum [ s ʌm] 总数,总计
Salary [ 'sæləri ] 薪水
Random ['ræn dəm] 随机的
Scanner ['skænə] 接收输入
Import [im' pɔ:t] 导入,输入
if [if] 如果
else [els] 否则
switch [switʃ] 判断语句
case [keis] 实例,情况
break [breik] 退出
continue [kən 'tinju] 跳出...继续
return [ri tə:n] 返回
default [di'fɔ:lt] 或者的意思(在软件配置中还有默认的意思)
While [wail] 当……的时候
Loop [lu:p] 循环
必会知识点:
1,if语句的3中形式(掌握)
第一种:
if(条件为true,也就是条件成立)
{
执行这个语句.
}
int a = 1;
int b = 2;
if(a<b){
System.out.println("OK");
}
后面两种形式上课注意听
2,switch语句的用法(掌握)
3.1. 演讲内容:
switch语句能否作用在byte上,能否作用在long上,能否作用在String上?(演讲内容)
3,for循环(掌握)
以下两种图形的打印方法(掌握)此种思想后面常用
*
**
***
****
****
***
**
*
4,while循环(掌握)
5,continue和break两个关键字的区别?(演讲内容)
4. 第4天
Max [ ma: k s] 最大的
Min [ mi n] 最小的
Function [ 'fʌŋ k ʃən ] 功能,函数
Method [ 'me θə d ] 方法
Result [ ri'zʌlt ]结果
Compare [ kəm' pεə ] 比较
Temp [ tem p ] 临时工
Array [ ə'rei ] 数组
Null [nʌl ] 空,无效的
pointer ['p ɔi n tə] 指针
Excep tion[ ik 'sep ʃən] 异常
Error [ erə ] 错误
Thread [ θred ] 线程,线状物
Lang [læŋ] 是language['læŋɡ wi dʒ] 语言 的缩写
index ['indeks] 角标,索引,指针
Outof [ a:ut ɔf] 在...之外
bound [baund] 范围
length [ leŋθ] 长度
sort [sɔ:t] 将...排序 //Arrays.sort(arr)
select [si'lekt] 选择 //selectSort
bubble ['bʌbl] 冒泡,气泡 //bullbeSort
change [ tʃeindʒ ] 改变,交换
Swap [ swɔp ] 交换
nullpointerException 空指针异常
ArrayIndexOutOfBoundsException 数组角标越界异常
必会知识点:
1,函数
函数的重载(掌握)
2,数组
数组的格式(掌握)
给数组赋值(掌握)
遍历数组(就是把数组中的元素全部打印一遍)(掌握)
获取数组中的最大值,最小值(掌握)
数组排序:
选择排序(掌握)
冒泡排序(理解)
4.1. 演讲内容:
函数的重载是什么?如何判断两个函数重载?(演讲内容)
5. 第5天
Half [ hɑ:f ] 一半的,半个的
Search [ sə: tʃ] 搜索,查找
Mid [ mid] 中间的
Number [ 'nʌmbə ] 数字,号码
util[ ju'til]是utility[ ju'tiliti ]功能,功效 的缩写
Transition[ træn'ziʃən] 转换 通常会用trans为其简写形式
Object [ 'ɔb dʒi kt ] 对象, 物体
Class member [ 'membə ] 类成员
Class method [ 'meθəd] ] 类方法
Class variable [ 'vεə riə ble ] 类变量
Constructor [ kən'strʌktə ] 构造方法,构造器
Package [ 'pækidʒ] 包
必会知识点:
1,数组的查找
无序数组查找方法(掌握)
有序数组查找方法,也就是二分法查找(理解)
2,二维数组
二维数组格式(掌握)
二维数组的遍历(掌握)
5.1. 演讲内容:
3,char型变量中能不能存贮一个中文汉字?为什么? 一个字符占几个字节?(面试题,演讲内容)
6. 第6天
Car [ kɑ: ] 汽车,小轿车
Color [ 'kʌlə] 颜色
Red [ red ] 红色
Blue [ blu: ] 蓝色
Black [ blæ k] 黑色
White [ hwait ] 白色
Run [ run] 跑, 运行
Person [ 'pə:sən ] 人
People [ 'pi:pl ] 人,人们
Age [ eidʒ] 年龄
Name [ neim ] 名字,名称,名誉,名人
Speak [ spi:k] 说话,讲话,
Set [ set] 设置
Reset [r i set] 重新设置
Get [get ] 获取,获得
必会知识点:
1,什么是局部变量和成员变量?(掌握)
2,什么是构造函数?(掌握)
6.1. 演讲内容:
3,面向对象思想?(理解)(演讲内容)
7. 第7天
Code [ kəud ] 代码,代号,编码
Country [ 'kʌn tri ] 国家,国土
University [ju:ni'və:siti] 大学
College [ 'kɔlidʒ] 大学
Private [ 'praivit ] 私有的,私人的
Show [ ʃəu] 显示,展示
Sleep [ sli:p ] 睡, 睡觉, 睡眠 1秒=1000毫秒
Single [ 'siŋgl] 单一的,单独的,单身的,单程的
Instance [ 'instəns ]实例,情况
Tool [ tu:l] 工具
Data [ 'deitə ] 资料
Develop [ di'veləp ] 开发
eclipse中用到的单词
application
perspective [pə'spektiv]
必会知识点:
3,this关键字代表什么?(掌握)(演讲内容)(周四)
1,代码块
(1)局部代码块 提高代码效率.(掌握)
(2)构造代码块 每new一次执行一次。(掌握)
7.1. 演讲内容
(3)思考下面的问题
Person p = new Person(); (掌握,面试题)
它在内存中做了哪些事情?(演讲内容)
答案:
A:将Person.class文件加载到内存中。
B:在堆内存中创建一个对象Person。
C:把Person中的属性进行默认初始化。
D:把Person中的属性进行显示初始化。
E:调用构造代码块(如果没有,不执行这个操作)。
F:调用构造函数进行初始化。
G:在栈内存中声明Person类型的变量P。
H:把堆内存的地址(引用)赋给了栈内存中P。
2,static关键字
1,静态的含义?(理解)
2,静态的用法和特点?(掌握)
3,单例设计模式:
单例写法两种:
(1)饿汉式 开发用这种方式。(掌握)
class Student
{
private Student(){}
private static Student s = new Student();
public static Student getInstance()
{
return s;
}
}
(2)懒汉式 面试写这种方式。(掌握)
class Teacher
{
private Teacher(){}
private static Teacher t;
public static Teacher getInstance()
{
if(t==null)
{
t = new Teacher();
}
return t;
}
}
8. 第8天
Extends [ ik'stends] 继承,延伸,推广
Phone [ fəun ] 电话
Call [ kɔ:l] 呼叫,给...打电话
Study [ 'stʌdi] 学习,研究
Work [ wə:k ] 工作,操作
Eclipse中会用到的单词:
Location [ ləu'keiʃən] 位置(文件在电脑中的位置)
encoding [in'kəudiŋ] 编码
Properties [ 'prɔpətis] 属性,性能
必会知识点:
8.1. 1:继承(extends)
(1)继承的体系结构(理解):就是对要描述的事物进行不断的向上抽取,就出现了体系结构。
**先学习顶层内容,因为它是共性内容。
**一般使用的时候使用的是底层的类。
(2)继承的好处:(理解)
A:继承的出现,提高了代码的复用性。
B:继承的出现,让类与类之间产生了关系,extends来表示,
这个关系的出现,为后面我们讲面向对象的第三个特点多态打下了基础。
(3)特点(理解)
A:java只支持单继承(其实确切的说是java对多继承进行了优化,避免了安全问题)。
B:java支持多重(层)继承。
(4)注意:(掌握)
A:子类可以直接访问父类中的非私有的属性和行为。
B:不要仅为了获取其他类中部分功能而去继承。
C:类与类之间要有所属( " is a " )关系,xx1是xx2的一种。
**如何判断A和B是否有继承关系?
**A如果继承B,那么就可以说A是B的一种。
8.2. 2:抽象类(abstract)
8.3. 演讲内容:
(1)只抽取了很多类的方法的声明,为了保证不出问题,方法声明用abstract修饰。(掌握)
(2)抽象类的特点(掌握)(演讲内容)
A:一个类如果有了抽象方法,那么这个类必须是抽象类。抽象类里边可以没有抽象方 法。
B:抽象类是不能够被实例化的。不能够创建对象的。
C:如果一个类继承抽象类,那么,它要么实现抽象类中的所有抽象方法,
要么本身也是抽象类。
(3)抽象类的成员特点:(掌握)
A:成员变量:子类可以直接继承抽象类中的成员变量。(抽象类中的成员变量可以和 以前是一样的)
B:成员方法:抽象类中分为两种方法,一种是抽象方法,这种方法在子类中必须要被 实现。
C:构造方法:抽象类不能被实例化,那么它有构造方法吗?抽象类是class,那么它就 有构造方法。
它的构造方法有用吗?有,为了让子类实例化的时候使用。
(4)举例:教师举例,学生举例,员工举例
(5)抽象类的相关问题:
A:抽象类中是否有构造函数?参照(3)里面的C。
B:抽象关键字abstract不可以和哪些关键字共存?
**private
***私有的,外部直接无法访问。
**static
***那么这个时候抽象方法就可以可以通过类名调用,但是这样是没有意义的。
**final
***final修饰的方法不能被重写。所以它和abstract冲突。
C:抽象类中可不可以没有抽象方法?
**可以。防止其他类创建该类对象。
9. 第9天
Super ['sju: pə] 父类的,超级的,,超类的
Final ['fai nl] 最终的
finally
finalized
Abstract ['æbstrækt] 抽象的
Interface [ 'intəfeis ] 接口
Imple ments ['impliments] 实现
Mouse [maus ] 鼠标, 老鼠
Bonus [ 'bəunəs ] 奖金
Inner [ 'inə ] 内部的
Protect [prəu'tekt] 保护,受保护的, 防卫
Eclipse中会用到的单词:
File [ 'fail] 文件
Folder ['fəʊldə] 文件夹
View [ vju: ] 视图, 视线,看
Show view 显示视图
知识点总结:
9.1. 1:接口(interface)(掌握)
(1)接口的由来:当一个类中的方法都是抽象的时候,你没必要定义为抽象类,
定义为接口就可以了。
(2)解决了java中只能单继承的问题。(对多继承进行了优化)
A:类与类:只能是单继承。
B:接口与接口:可以是单继承,也可以是多继承。
C:类与接口:可以是单实现,也可以是多实现。
(3)成员特点:
A:只有成员变量和成员方法。
B:成员变量 默认修饰符 public static final
**int x = 20;
**其实是这样的 public static final int x = 20;
C:成员方法 默认修饰符 public abstract
**void show();
**其实是这样的 public abstract void show();
建议:自己手动加上修饰符。
9.2. 演讲内容
(4)接口特点:(掌握,演讲面试题)
A:接口是对外暴露的规则
B:接口是功能的扩展
C:接口降低了程序的耦合性。
**内聚(自己实现功能的能力)
**高内聚,低耦合。
举例:主板和CPU,USB接口,电源插座。
D:扩展说了下接口的理解
**狭义的理解就是java中的接口。
**广义的理解就是:任何定义的规范都是接口。
(5)接口和抽象类的区别:(掌握,演讲面试题)
A:抽象类只能被单继承;接口可以被多实现。
B:抽象类中的成员:
成员变量:可以是常量,也可以是变量。
成员方法:可以是抽象的,也可以是非抽象的。
构造方法:虽然不可以创建对象,但是可以给子类实例化用。
接口中的成员:
成员变量:只能是常量。默认修饰符 public static final
成员方法:只能是抽象的。默认修饰符 public abstract
C:抽象类中定义的是体系结构中的共性的内容。
接口中定义的是对象的扩展功能。
D:抽象类被继承表示的是:"is a"的关系。xx是yy中的一种。
接口被实现表示的是: "like a"的关系。xx像yy中的一种。
(6)学生:Student
A:属性:学号,姓名,年龄
B:方法:学习(study),吃饭(抽象eat),抽烟或者不抽烟?(合适吗)
发现:在学生中定义抽烟的方法不合适。所以呢,我们另外用一个类来定义抽烟的方法。
但是发现,如果用一个类描述抽烟的功能后,SmokeStudent是不能继承多个类的。
这个时候,我们又得重写思考了。发现,抽烟的学生像一个抽烟的机器,所以,
我们定义一个接口来放抽烟这个功能。
interface Smoking
{
public abstract void smoking();
}
描述的是抽烟的学生:SmokeStudent extends Student implements Smoking
SmokeStudent ss = new SmokeStudent();
ss.eat();
ss.study();
ss.smoking();
老师:Teacher
A:属性 教师编号,姓名,年龄
B:方法 教书(teach),吃饭(吃饭eat),抽烟或者不抽烟?(合适吗)
发现:在老师中定义抽烟的方法不合适。所以呢,我们另外用一个类来定义抽烟的方法。
但是发现,如果用一个类描述抽烟的功能后,SmokeTeacher是不能继承多个类的。
这个时候,我们又得重写思考了。发现,抽烟的老师像一个抽烟的机器,所以,
我们定义一个接口来放抽烟这个功能。
interface Smoking
{
public abstract void smoking();
}
描述的是抽烟的老师:SmokeTeacher extends Teacher implements Smoking
SmokeTeacher st = new SmokeTeacher();
st.eat();
st.teach();
st.smoking();
最后,我们发现,这个代码还是存在着重复,比如说学生类和教师类中的属性姓名,年龄及方法吃饭。
所以,我们进一步向上抽取。来了一个Person类
Person:属性:姓名,年龄
行为:吃饭(抽象eat)
9.3. 2:多态(掌握)
(1)某一类事物的多种存在形态。
**方法重载(静态多态)
**方法重写(动态多态,对象多态)
(2)对象多态的前提
A:类与类(或接口)要有继承(或实现)关系。
B:一定要有方法的重写。
C:一定要有父类或者接口的引用指向子类的对象。
(3)多态思想:可以指挥同一类型的一批对象做事情。多态的出现让我们复杂的问题简单化了。
A:Animal Cat Dog
**method(Animal a){a.eat();}
B:同学们吃饭
C:士兵打仗(抬枪,瞄准,射击)。
(4)多态中成员的特点:(我们只研究特殊的,就是说名字一样的东西)
Fu f = new Zi();
A:成员变量:编译和运行都看Fu。
B:非静态方法:编译看Fu,运行看Zi。
C:静态方法:编译和运行都看Fu。
举例: 动物的例子:
向上转型
Animal a = new Cat();
a.eat();
//a.catchMouse();
向下转型
Cat c = (Cat)a;
c.eat();
c.catchMouse();
//向上转型
Animal a = new Dog();
//向下转型 转换异常
//Cat c = (Cat)a;
Dog d = (Dog)a;
孔爹的例子:
孔爹:教课(Java)
孔子:教课(论语),看小说(),打游戏()。
孔爹 k = new 孔子();//穿上他爹衣服,就跟着去了
k.教课(论语)。
//k.看小说();
孔子 kz = (孔子)k;//把衣服脱了
kz.教课(论语);
kz.看小说();
kz.打游戏();
9.4. 3:Object(掌握)
(1)Object类:java中所有类的父类。它是java类体系结构中的根类。
java中的类都直接或者间接继承自Object类。
(2)学习了里面的几个方法:重点掌握 toString(),equals()。
A:boolean equals(Object obj)
指示其他某个对象是否与此对象“相等”。
B:String toString()
返回该对象的字符串表示。
C:int hashCode()
返回该对象的哈希码值。
D:Class<?> getClass()
返回此 Object 的运行时类。
E:protected void finalize() 了解
当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
**final,finally,finalize
(3)重点看下面两个方法
//重写toString()方法
public String toString()
{
//return "HelloWorld";
return "name:"+name+",age"+age;
}
//重写Object的equals方法
public boolean equals(Object obj)//s2--obj
{
//为了提高效率
if(this == obj)
{
return true;
}
//为了程序的健壮性
if(!(obj instanceof Student))//格式:对象 instanceof 具体的类名
{
return false;
}
Student s = (Student)obj;
if(this.age==s.age)
{
return true;
}
else
{
return false;
}
}
10. 第10天
Equals ['i:kwəls]判断两个字符串是否相等
Memory ['meməri] 记忆,内存,存储器
OutOfMemoryError 在内存之外的错误:内存溢出(专业说法)
Heap [hi:p] 堆
Space [speis] 空间
Java heap space Java堆内存
Throw [θrəu] 抛出,投掷
Throws [θrəuz] throw的复数形式
Finally ['fainəli] 最后,最终
Message ['mesidʒ] 消息,信息,通知
Try [trai] 尝试,试图
Catch [kætʃ] 捕获,捕捉,抓住
Close [kləuz] 关闭,结束
Open ['əupən] 打开,公开
Add [æd] 添加,增加
Prelect [pri'lekt ] 讲课,讲演
eclipse中用到的单词
Refresh [ri'freʃ] 更新,刷新
Edit ['edit] 编辑
Project [prədʒekt] 项目,工程,计划
必会知识点:
10.1. 1,内部类
1,格式(理解)
2,访问方式(掌握)
3,匿名内部类(必须掌握,就业班后面常用)
10.2. 2,异常
1,异常的体系(理解)
2,异常处理方式(理解)
3,自定义异常(掌握,后面就业班会用到)
10.3. 演讲内容:
1,构造器Constructor是否可被override? (演讲内容,面试题)
2,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?(演讲内容,面试题)
11. 第11天
Directory [ di'rektəri ] 目录
Throwable [ 'θrəuə'ei bl ] 直译是可抛出的,在Java中指异常类.
ClassCastException ("类型错误"),类型转换异常
Runtime [run'taim] 运行时间
RuntimeException 运行时异常
Current ['kʌrənt] 当前的,现在的
Arithmetic [ə'riθmətik ] 算数
eclipse中用到的单词
Preference ['prefə rəns] 个人喜好/在汉化版中是"属性"
rename [,ri:'neim] 改名,重新命名 (F2快捷键)
template ['templit] 模板
必会知识点:
11.1. 1:包(掌握)
(1)包:package
A:对类文件进行分类管理
B:给类提供多层命名空间
C:放在程序代码的第一行(注释除外)
(2)访问:先得有包,然后:包.类名
如何解决手动创建包的问题呢?
javac -d xxx PackageDemo.java
-d 后面跟的是:目录
当前目录:.
(3)不同包之间类的访问
类一定要用全路径名称:包名.类名
2:protected
包之间的继承关系。
11.2. 3:import(掌握)
简化类名。
一个程序文件中只有一个package,可以有多个import。
用来导包中的类,不导入包中的包。
通常写import mypack.Demo;
而不写import mypack.*;为什么?
11.3. 4:权限修饰符(掌握)
同一个类中 同一个包中 不同包中子类中 不同包中,不存在继承关系
private OK
默认 OK Ok
protected Ok Ok Ok
public OK Ok OK OK
11.4. 5:关键字用来修饰什么?(掌握)
类 属性 方法 构造方法
private OK OK OK
默认 OK Ok Ok OK
protected Ok Ok OK
public Ok Ok Ok OK
static Ok Ok
final Ok Ok Ok
abstract Ok Ok
特殊:private和static可以修饰内部类。不用掌握。
static可以代码块。静态代码块。掌握。
A:权限修饰符任意时刻只能使用一种。
B:static,private,final不能和abstract并用。
11.5. 6:jar(掌握)
(1)打包:
jar -cf haha.jar packa
(2)查看jar包
jar -xvf haha.jar
(3)如果内容特别多,好几个屏幕都放不下,
假使我们能够通过某个命令,讲这些目录写入到一个记事本中。看起来就方便了。
jar -tf haha.jar > c:\a.txt
11.6. 演讲内容
1, 是否可以从一个static方法内部发出对非static方法的调用?(面试题)
答案:不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非static方法的调用。
12. 第12天
Synchro nized [ 'sɪŋkrə,naɪzd] 同步的
Runnable [ 'rʌnəbl] 可捕捉的(在java中它是一个接口)
Inter rupted [,intə'rʌptid] 中断的,被阻止的
Ticket ['tikit] 票
Bank [bæŋk] 银行
tank 坦克
flag [flæɡ] 标记, 旗帜
dead [ded] 死亡的,无生命的
lock [ lɔk] 锁
unlock
eclipse中用到的单词
console [kən'səul] 控制台
font [fɔnt] 字体
syntax ['sintæks] 语法
必会知识点:
Ø 多线程的两种实现方式(掌握)
Ø 线程的生命周期.(理解)
12.1. 演讲内容:
2, Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
答案:
override可以翻译为覆盖,从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用。对我们来说最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。除了这个典型的用法以外,我们在继承中也可能会在子类覆盖父类中的方法。在覆盖要注意以下的几点:
1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;
2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;
3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;
4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。
overload对我们来说可能比较熟悉,可以翻译为重载,它是指我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后再调用时,VM就会根据不同的参数样式,来选择合适的方法执行。在使用重载要注意以下的几点:
1、在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序(当然,同一方
展开阅读全文