计算机二级Java语言程序设计复习资料
Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。以下是关于计算机二级Java语言程序设计复习资料,希望大家认真阅读!
Java面向对象
面向对象是一种程序设计方法,或者是程序设计规范,其基本思想是使用对象、类、继承、封装、多态等基本概念来进行程序设计。 面向对象是一种符合人们思考习惯的思想,可以将复杂的事情简单化,将程序员从执行者转换成了指挥者
完成需求时:
• 先要去找具有所需的功能的对象来用。
• 如果该对象不存在,那么创建一个具有所需功能的对象。
• 这样简化开发并提高代码的复用。
面向对象的开发过程其实就是不断的创建对象,使用对象,指挥对象做事情。设计的过程其实就是在管理和维护对象之间的关系。
面向对象的特征:
• 封装(encapsulation)
• 继承(inheritance)
• 多态(polymorphism)
1.封装
概念:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
好处:• 将变化隔离。• 便于使用。• 提高重用性。• 提高安全性。
封装原则:
• 将不需要对外提供的内容都隐藏起来。
• 把属性都隐藏,提供公共方法对其访问。
Java中可以通过对类的成员设置一定的访问权限,实现类中成员的信息隐藏。
private:类中限定为private的成员,只能被这个类本身访问。如果一个类的构造方法声明为private,则其它类不能生成该类的一个实例。
default:类中不加任何访问权限限定的成员属于缺省的(default)访问状态,可以被这个类本身和同一个包中的类所访问。
protected:类中限定为protected的成员,可以被这个类本身、它的子类(包括同一个包中以及不同包中的子类)和同一个包中的所有其他的类访问。
public:类中限定为public的成员,可以被所有的类访问。
如下面的这个student类,就是使用了封装,将类中的属性name 、age和score私有化,使外部不能直接访问他们,只能通过public类型的对他们方法进行操作。
class Student {
private String name;//声明属性 ,并设为私有类型,起到封装的作用
private int age;
private int score;
public Student(String name,int age ,int score) { //构造函数,分别给name、age、score赋值
= name;// :this代本类对象的引用
= age;
e= score;
}
public String getName() { //设置getter方法,因为变量设为了私有,对象无法访问类中的属性,需要用getter方法获取变量
return name;
}
public void setName(String name) { //设置setter方法,因为变量设为了私有,对象无法访问类中的属性,需要用setter方法给变量赋值
= name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
= age;
}
public int getScorre() {
return score;
}
public void setScorre(int score) {
e = score;
}
}
2.继承
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。
新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的.需要。
子类可以直接访问父类中的非私有的属性和行为。通过 extends 关键字让类与类之间产生继承关系。如下:class SubDemo extends Demo{}
继承提高了代码的复用性。
继承的出现让类与类之间产生了关系,提供了多态的前提
继承的特点:
Java只支持单继承,不支持多继承。
• 一个类只能有一个父类,不可以有多个父类。
• class SubDemo extends Demo{} //这是对的
• class SubDemo extends Demo1,Demo2...//这是错的
Java支持多层继承(继承体系)
• class A{}
• class B extends A{}
• class C extends B{}
定义继承需要注意:
• 不要仅为了获取其他类中某个功能而去继承
• 类与类之间要有所属关系,xx1是xx2的一种。
如:
class Ren { //父类
int age=20;
String name="wk";
public void show() {
tln("姓名:"+name+" 年龄:"+age);
}
}
class Sudents extends Ren {//子类Sudents继承了父类Ren
int score=90;//增加了新的属性
int age= +1;//使用super标记父类中的元素,修改了Ren中age的值
public void show() {//重写了父类中的方法( 覆盖时,子类方法权限一定要大于等于父类方法权限,静态只能覆盖静态。)
-
2017年计算机msoffice题库操作题
由于计算机具有高运算速度和精度以及逻辑判断能力,因此出现了计算力学、计算物理、计算化学、生物控制论等新的学科。下面是小编整理的关于计算机msoffice题库操作题,欢迎大家参考!二、字处理题(共50分)1[简答题]请在【答题】菜单下选择【进入考生文件夹】命令,并...
-
盘点计算机java二级知识点
计算机网络通俗地讲就是由多台计算机(或其它计算机网络设备)通过传输介质和软件物理(或逻辑)连接在一起组成的。下面是yjbys小编收集了一些计算机java二级知识点,希望大家认真阅读!的概念及优点AspectOrientedProgramming面向方面编程.面对象编程的关注点是对象...
-
2017年全国计算机等级上机考试注意事项
历次考试均有考生因为忽略了这一点,加之较为紧张的考场气氛影响了水平的发挥,致使考试成绩大大低于实际水平。下面是小编整理的关于全国计算机等级上机考试注意事项,欢迎大家参考!一.熟悉考试场地及环境,尤其要熟悉考场的硬件情况和所使用的相关软件的情况。对考场...
-
计算机二级c语言题库2016
1.关于结构化程序设计原则和方法的描述错误的是(C)。A.选用的结构只准许有一个人口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用GOT0语句D.语言中若没有控制结构,应该采用前后一致的方法来模拟2.算法的空间复杂度是指(D)。A.算...