java 实验四类与对象习题答案 您所在的位置:网站首页 用java输出英文字母表 java 实验四类与对象习题答案

java 实验四类与对象习题答案

2023-11-05 02:00| 来源: 网络整理| 查看: 265

问答题:

1.在声明类时,类名应该遵守哪些习惯?

1.与文件名相同2.首字母大写

2.类体内容中有那两类比较重要的成员?

1.成员变量2.方法

3.实例方法可以操作类变量吗?类方法可以操作实例变量吗?

类中的实例方法可以操作类变量

因为类总是先于实例存在的 实例只是类在特定状态下的一个特定对象 所以必须类存在 才能从类创建实例 所以实例方法可以操作类变量 因为类变量肯定存在

类方法不可以操作实例变量

因为类方法的作用域在类上 类本身并不知道自己被创建了多少实例 这些实例哪些还存在 所以类方法没有办法访问到实例变量

4.当类的字节码加载到内存时,类变量一定分配了内存空间吗?

是的

5.类的实例变量在什么时候分配内存空间?

new的时候

6.一个类的类变量被该类创建的所有对象共享吗?

是的

7.不同对象的实例变量分配的内存空间地址一定不同嘛?

不一定

8.上面叫方法的重载?构造方法可以重载嘛?

重载(overload),方法名一样,但是返回类型或者传参不一样。构造方法也可以重载。

9.为什么类方法不可以调用实例方法。

实例方法没有加载进内存,必须以new的方式加载

10.为什么类方法不能操作实例成员变量?

没加载进内存,理由和上一题一样

11.实例方法可以用类名直接调用吗?

不行,先new出来

12.关键字this可以出现在构造方法中?可以出现在实例方法中?可以出现在类方法中?

都行

13.源文件声明编写的类一定在同一包中嘛?

不一定,可以导包

14.“import java.awt.*;”和"import java.awt.Button"有什么不同?

前一个内存加载awt下所有类,第二个只加载button

15.程序中如果使用了“import java.util.*;”;程序运行时,要加载java.util包中全部类到内存嘛?

要的

16.有哪几种访问权限修饰符,说出作用。

public 所有地方均能访问该类

private 除本类都不能访问

protected 除本类,本包和子类(其他包下子类也行),其他包下都不能访问

不加(Default)  除了本类,本包,子类和其他类都不能访问

17.怎么反编译一个类

使用java自带的javap

18.请写出下列代码中类A的输出结果(题目少数据)

作业题

1.编写一个类,该类创建对象可以计算等差数列的和。

package com.littlepage.test;public classArithmeticProgression {//成员变量

private int init;//初始值

private int subValue;//公差

private int num;//项数//空参构造

publicArithmeticProgression() {

}//有参构造

public ArithmeticProgression(int init, int subValue,intnum) {

super();this.init =init;this.subValue =subValue;this.num=num;

}//get,set方法

public intgetInit() {returninit;

}public void setInit(intinit) {this.init =init;

}public intgetSubValue() {returnsubValue;

}public void setSubValue(intsubValue) {this.subValue =subValue;

}public intgetNum() {returnnum;

}public void setNum(intnum) {this.num =num;

}//计算方法

public intcaculate() {return init*num+num*(num-1)*subValue/2;

}

}

package com.littlepage.test;public classTest4 {public static voidmain(String[] args) {

ArithmeticProgression a=new ArithmeticProgression(1,1,5);

System.out.println(a.caculate());

}

}

控制台:15

2.编写一个类,该类创建的对象可以输出英文字母表(上一题是答案我用标准类来写,这题我只写构造)

package com.littlepage.test;public classEnglishTable {publicEnglishTable() {

System.out.println("abcdefghijklmnopqrstuvwxyz");

}

}

package com.littlepage.test;public classTest4 {public static voidmain(String[] args) {newEnglishTable();

}

}

控制台:

abcdefghijklmnopqrstuvwxyz

3.编写一个类,该类封装了一元二次方程共有的属性和功能,即刻画系数的三个成员变量和计算实数根的方法,要求,该类各个对象是共享常量

package com.littlepage.test;public classEquation {//成员变量

private inta;private intb;private intc;//无参构造

publicEquation() {

a=0;

b=0;

c=0;

}//有参构造

public Equation(int a, int b, intc) {

super();this.a =a;this.b =b;this.c =c;

}//get,set方法

public intgetA() {returna;

}public void setA(inta) {this.a =a;

}public intgetB() {returnb;

}public void setB(intb) {this.b =b;

}public intgetC() {returnc;

}public void setC(intc) {this.c =c;

}//计算方法

public voidcaculate() {if(b*b-4*a*c

}public A(int a, intb) {

super();this.a =a;this.b =b;

}public intgetA() {returna;

}public void setA(inta) {this.a =a;

}public intgetB() {returnb;

}public void setB(intb) {this.b =b;

}public intcaculate() {int c=1;if(a>b) {

c=a;

a=b;

b=c;

}for(int i=2;i

A a;publicB() {

super();//TODO Auto-generated constructor stub

}publicB(A a) {

super();this.a =a;

}publicA getA() {returna;

}public voidsetA(A a) {this.a =a;

}public intcaculate() {return a.getA()*a.getB()/a.caculate();

}

}

package com.littlepage.test;public classTest4 {public static voidmain(String[] args) {

A a=new A(12,6);

System.out.println(a.caculate());

B b=newB(a);

System.out.println(b.caculate());

}

}

控制台:

6

12

5.编写使用了包语句的类,然后在应用程序中用import语句引入,并用该类创造对象

package com.littlepage.servlet;

import com.littlepage.test.ArithmeticProgression;public classTest2 {

ArithmeticProgression ap=newArithmeticProgression();

}

该题引用第一题编写的类库



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有