一、填空题
1.类是一组具有相同(属性)和(行为)的对象的抽象。(实例)是由某个特定的类所描述的一个个具体的对象。
2.(接口)只描述系统所提供的服务,而不包含服务的实现细节。
3.构造方法的方法名与(类)相同,若类中没有定义任何的构造方法,则运行时系统会自动为该类生成一个(无参构造)方法。
4.(构造方法)是一个特殊的方法,用于创建一个类的实例。
5.对象拷贝有(对象的引用 )、( )和( )三种。
二、简答题
1.为什么要对类进行封装?封装的原则是什么?
Java中通过将数据封装、声明为私有的(private),再提供一个或多个公开的(publi
c)方法实现对该属性的操作,以实现下述目的。
隐藏一个类的实现细节
防止对封装数据的未经授权的访问。使用者只能通过事先定制好的方法来访
问数据,可以方便地加入控制逻辑,限制对属性的不合理操作。
有利于保证数据的完整性
便于修改,增强代码的可维护性。
尽力让封装的每个类里面的属性和方法独立,方便以后操作,减少耦合性就好了。
2.什么是对象?什么是类?二者有何关系? 类是具有相同数据结构(属性)和相同操作功能(行为)对象的集合。对象就是符合某种类所产生的一个实例。对象与类的关系是:
对象的共性抽象为类,类的实例化就是对象。
对象的声明:
类名 对象名=new 类名();
对象的调用:
访问属性:对象名.属性名;
访问方法:对象名.方法名();
类是对现实生活中的一类人或者一类事物的高度抽象,抽取出该类事物共有的属性和方法
由类生成的具体的个体是对象
3.Java中类定义的一般格式是什么?定义类的修饰符有哪些?各自的特点是什么?
Public class 1.public default protected private
使用对象:类、接口、成员
介绍:无论它所处在的包定义在哪,该类(接口、成员)都是可访问的
2.private
使用对象:成员
介绍:成员只可以在定义它的类中被访问
3.static Java语言面向对象基础
使用对象:类、方法、字段、初始化函数
介绍:成名为static的内部类是一个顶级类,它和包含类的成员是不相关的.静态方法
是类方法,
是被指向到所属的类而不是类的实例.静态字段是类字段,无论该字段所在的类创建了
多少实例,该字
段只存在一个实例被指向到所属的类而不是类的实例.初始化函数是在装载类时执行
的,而不是在创建
实例时执行的. 4.final
使用对象:类、方法、字段、变量
介绍:被定义成final的类不允许出现子类,不能被覆盖(不应用于动态查询),字段值
不允许被
修改.
5.abstract
使用对象:类、接口、方法
介绍:类中包括没有实现的方法,不能被实例化.如果是一个abstract方法,则方法体
为空,该方
法的实现在子类中被定义,并且包含一个abstract方法的类必须是一个abstract类
6.protected
使用对象:成员
介绍:成员只能在定义它的包中被访问,如果在其他包中被访问,则实现这个方法的类
必须是该成员所属类的子类.
4.简述构造方法的特点与作用。
构造方法特点:方法名和类名完全相同、没有返回值类型
功能:可以构造带参数和无参数的对象。这些对象可以使用类方法。
构造主要用来初始化对象
构造函数应该和类名保持一致可以有参数或者不带参数 无返回类型 必须是public的
5.Java中创建对象的一般格式是什么?如何初始化对象?如何给对象赋值?
Scanner sc=new Scanner(system.in)
Person p=new Person
p.age=15;
6.什么是包?如何创建包?如何引用包?
java的包则主要用来组织字节码文件,且必须在文件中声明其所属的包,包层次以点(.)分隔而不是斜杆。
1为了区别那么多类的名字
2packege
3import
三、选择题
1.下面关于封装性的描述中,错误的是( )。
A.封装体包含属性和行为 B.被封装的某些信息在外不可见
C.封装提高了可重用性 D.封装体中的属性和行为的访问权限相同 可以不相同 程序员定义
2.下面关于类方法的描述,错误的是()。
A.说明类方法使用关键字static B.类方法和实例方法一样均占用对象的内存空间 类方法在不实例化的时候 是不占用内存空间的
C.类方法能用实例和类名调用 D.类方法只能处理类变量或调用类方法
3.下面关于包的描述中,错误的是()。
A.包是若干对象的集合 B.使用package语句创建包
C.使用import语句引入包 D.包分为有名包和无名包两种
4.下面哪些代码段是正确的Java源程序?(BCD )
A.import java.io.*; B.import java.io.*;
package testpackage; class Person{/* do something... */}
public class Test{/* do something... */} public class Test{/* do something... */}
C.import java.io.*; D.package testpackage;
import java.awt.*; public class Test{/* do something... */} public class Test{/* do something... */}
四、判断题 1.类是一种类型,也是对象的模板。( T )
2.类中说明的方法可以定义在类体外。(F)
3.创建对象时系统将调用适当的构造方法给对象初始化。(T)
4.使用运算符new创建对象时,赋给对象的值实际上是一个引用值。(T)
5.对象赋值实际上是同一个对象具有两个不同的名字,它们都有同一个引用值。(T)
6.class是定义类的惟一关键字。(T)
五、改错题
1.下面的程序中有若干个语法错误,找出后请改正。
public class MyMainClass{
public static void main(String [] args) { TheOtherClass obj = new TheOtherClass("John Smith","Male","UK");
System.out.println(obj.name+' '+obj.gender+' '+obj.nationality);
}
System.out.println("The end of the program! ")
}
public class TheOtherClass{
private String name,gender,nationality;
public TheOtherClass(String name,String gender,String nationality) {
} } this.name=name; this.gender=gender; this.nationality=nationality;
对于学习有困难不知道如何提升自己可以加扣:578024144进行交流得到帮助,获取学习资料
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow