java语言程序设计第四章 java程序设计第四章答案_java语言程序设计第四章

四、方法与构造函数  1.Java的访问限定修饰符有几种,各自的访问权限是什么?

2.如何创建自己的包,如何引入包?

3.下面哪一个是类Myclass的构造函数?

class Myclass{
public void Myclass(){}
public static Myclass(){}
public Myclass(){}
public static void Myclass(){}
}

4. 判断:类体中private修饰的变量在本类中能访问,类生成的对象也能访问。()

5. 判断:一个类中,只能拥有一个构造器方法。()

6.Java中类成员的限定词有以下几种:private, public, ________, ________。其中,________的限定的范围最大。

7、被关键字__________修饰的方法是不能被当前类的子类重新定义的方法

8.设计Point类用来定义平面上的一个点,用构造函数传递坐标位置。编写测试类,在该类中实现Point类的对象。

9.编写程序说明静态成员和实例成员的区别。

10.设计雇员Employee类,记录雇员的情况,包括姓名、年薪、受雇时间,要求定义MyDate类作为受雇时间,其中包括工作的年、月、日,并用相应的方法对Employee类进行设置。编写测试类测试Employee类。要求使用自己的包。

参考答案  1.答:Java的访问限定修饰符有4种,分别使public、protected、private和默认修饰符。用public修饰的类或成员拥 有公共作用域,表明此类或类的成员可以被任何Java中的类所访问,是最广泛的作用范围。用protected修饰的变量或方法拥有受保护作用域,可以被 同一个包中所有的类及其他包中该类的子类所访问。用private修饰的变量或方法拥有私有作用域,只能在此类中访问,在其他类中,包括该类的子类也是不 允许访问的,private是最保守的作用范围。没有任何修饰符拥有默认访问权限(友好访问权限),表明此类或类的成员可以被同一个包中的其它类访问

2.答:创建自己的包只要将package语句作为Java源文件的第一句就可以了。例

package myPackage; 声明创建了一个名为myPackage的包。

Java使用import语句来引入包及其中的类。例如import myPackage.*;就引入了myPackage包中所有的类。

3.答:public Myclass(){}是类Myclass的构造函数。考试大收集整理

4. false
5. false
6. friendly、 protected、public
7.Private
8. 答:
class Point
{ int x,y;
Point(int a,int b)
{ x=a;
y=b;
}
}
public class A
{ public static void main(String [ ] args)
{ Point p1,p2;
p1=new Point(10,10);
p2=new Point(23,35);
}
}
9.答:
class StaticTest{
int i=5;
static int j=5;
void print(){
System.out.println("i="+i);
System.out.println("j="+j);
}
static void classprint(){
//System.out.println("i="+i);
System.out.println("j="+j);
}
}
class Test{
public static void main(String [] args){
//System.out.println(StaticTest.i);
System.out.println(StaticTest.j);
//StaticTest.print();
StaticTest.classprint();
StaticTest st=new StaticTest();
System.out.println(st.j);
System.out.println(st.j);
st.print();
st.classprint();
}
}
10.答:
package mypackage.employee;
class MyDate{
private int year;
private int month;
private int day;
public MyDate(int year,int month,int day){
this.year=year;
this.month=month;
this.day=day;
}
public int getYear(){
return year;
}
}
public class Employee{
private String name;
private double salary;
private MyDate hireDay;
public Employee(String name,double salary,MyDate day){
this.name=name;
this.salary=salary;
hireDay=day;
}
public void print(){
System.out.println(name+ ""+salary+""+hireYear());
}
public int hireYear(){
return hireDay.getYear();
}
}
class TestEmployee{
public static void main(String [] args){
Employee a=new Employee("李明",20000,new MyDate(2000,10,1));
Employee b=new Employee("王强",24000,new MyDate(1995,8,12));
a.print();
b.print();
}
}

责编:admin