- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java言面向对象知识小结及答疑
面向对象知识小结及答疑
一、面向对象基本概念回顾
Java的面向对象概念,绝大部分是模拟现实世界中的事物而设计的。
继承:根据功能和用途,将类按照层次关系进行设计。越在下层的类,功能越多越具体;越在上层的类,其“权力”越大。
类一方面使得学习出现了暂时的困难,但也使得代码的复用变得很有意思。系统提供的标准类,其名字必须要经常查阅翻译辞典以加深印象。
构造方法:对象在新生成的时候必须要执行的方法,名字应该和类名字完全一致。
class A {
int x;
A() {
x = 2;
}
A(int x) {
this.x = x;
}
void print() {
System.out.println(“x=” + x);
}
}
默认情况下,A()构造方法默认是会自动生成的,当然里面一点代码都没有(也就是说,你不写的话,系统会帮你写上一个空架子的构造方法)。构造方法前面必须是没有“返回类型”的。
另外,类中的任何除构造方法之外的其它方法必须要“返回类型”的。
方法重载:在类中存在两个同名的方法,但方法的参数类型不相同。
void print(int x) {…}
void print(int a) {…}
注意,上面写的这两个方法不能叫重载的(参数个数、类型完全相同)
方法重写/覆盖:在子类和父中存在两个同名、同参数的方法。
访问修饰符:private,protected,public,(默认)
static,final
对类中的一个static方法来说,它可以直接通过类名进行调用,而不需要生成对象。
final放在一个变量前面,表示这是一个常量,只能有一个值。
final放在一个方法前面,表示这是一个不能被覆盖的方法。
final放在一个类前面,表示这是一个最终类,它不能被别的类继承。
抽象类:就是在class之前加了一个abstract的类,这样的类就不能用来生成对象了。因此,通常如果一个类不适合生成对象的话,我们就要把这个类定义成抽象的。或者,如果一个类中包含了没有方法体的方法(也就是抽象方法),这样的类也必须定义成抽象类。其它类继承了抽象类的话,就必须补全这个抽象类中的所有抽象方法的具体代码。
abstract class A {
int x;
abstract void print();
}
接口:在其中只定义抽象方法。接口的目的,是为了强制某些类中必须具有同样的方法。因此,只要类实现了接口,这些类就必须提供接口中方法的具体代码。因此这些类看起来就有了一些共性了(都包含了接口中规定的方法)。这是接口的一个强制规定。此外,接口中的抽象方法必须是public的,如果不写上的话,系统会自定帮我们加上。习惯上我们还是自己写上public。
interface C {
public void print();
}
class A implements C {
int x;
public void print() {
System.out.println(“x=” + x);
}
}
class B implements C {
public void print() {
System.out.println(“hello”);
}
}
上面的类A和类B因为实现了接口C,它们就必须提供接口C中规定的方法/函数,否则编译就报错了。这就是接口的一大特点。接口可以这样使用:
C c = new A();
c.print(); // 其实是调用A类的对象中的print()方法
c = new B();
c.print(); // 其实是调用B类的对象中的print()方法
可见,接口变量能够指向任何实现了该接口的类的对象,但只能调用对象中的那些“由接口规定的”方法。
对接口变量c来讲,无论它指向的是A类对象还是B类对象,接口变量c只知道对象中有print()方法(也就是接口C中规定的方法),对象中的其它内容,接口变量c则一无所知。
如同一个USB接口,可以插上任何实现了USB接口的实际设备,如插上优盘、移动硬盘等等。但是若移动硬盘还有MP3播放功能的话,我们的USB接口也不会知道。USB接口仍会把这种带有MP3播放功能的移动硬盘当作普通的移动硬盘来对待。
那么在Java中又为什么需要接口呢?我们再看上面的这两个类,改写一下(去掉了imp
您可能关注的文档
最近下载
- 航空运输地理单元四中国航空区划描述.ppt
- 喉肿瘤的护理措施.pptx VIP
- 第10课《往事依依》教学设计2024—2025学年统编版语文七年级上册.docx
- 中华民族一家亲,同心共筑中国梦.pptx VIP
- 职业技术学院处室工作人员学年考核细则.doc
- 基于plc的自动售货机系统设计—学士学位论文.doc VIP
- 知道网课跨文化沟通心理学智慧树章节测试答案2023.docx
- 苏教版五年级上册《我们的大脑》教学设计.docx
- 众泰-T600-产品使用说明书-T600 2.0T 豪华型DCT-JNJ6460QT-T600车系使用手册20131201.pdf
- RTO 操作规程考试试题及答案.docx
文档评论(0)