11

请解释Object类中的下列方法

public boolean equals(Object obj)

判断两个对象的地址值是不是相等

public final Class getClass()

返回该类的字节码文件

public int hashCode()

返回该类对象的哈希码值,就是将对象地址换成一个整数值

public String toString()

返回对象的地址以字符串的形式

看程序写结果(写出自己的分析理由),程序填空,改错,看程序写结果。

1、给出以下代码,请问该程序的运行结果是什么?如有问题,请说明原因。

class Demo {

public static void main (String[] args) {

int a = 10,b = 20;

change(a, b);

System.out.println(“a=” + a + “,b=” + b);

String s1 = “aaa”;

String s2 = “bbb”;

change(s1, s2);

System.out.println(“s1=” + s1 + “,s2=” + s2);

int[] arr = {1, 2, 3, 4, 5};

change( arr );

System.out.println(arr[3]);

}

public static void change(int x, int y){

x = 100;

y = 200;

}

public static void change (String s1, String s2) {

s1 = “java”;

s2 = “android”;

}

public static void change(int[] arr) {

for (int i=0; i<arr.length; i++) {

arr[i] *= 2;

}

}

}

结果:

a=10,b=20

s1=aaa,s2=bbb

8

**C:**编程题

1、编写java程序,分析如下需求,写出你分析的类有哪些,以及功能。最后写一个测试类,针对每个类的功能进行测试。*

​ A:自己新建一个项目:eclipse_test

​ B:在项目的src目录下建立一个包:cn.itcast

​ C:在包cn.itcast下建立一个学生类:Student

​ 包含成员变量:

​ name,age,sex

​ 请给出构造方法:

​ 无参构造,带三个参数的构造

​ 请给出get/set方法:

​ 并给出一个show方法。用于显示学生类的所有成员变量值。

​ D:写一个测试类:StudentTest

​ 在里面对学生类的成员赋值并使用。

package eclipse_test.cn.itcast;
public class Student {
    private String name;
    private int age;
    private char sex;
    public static void show(String name,int age,char sex){
        System.out.println("name:"+name+",age:"+age+",sex:"+sex);
    }
    public String getName () {
        return name;
    }

    public void setName (String name) {
        this.name = name;
    }

    public int getAge () {
        return age;
    }

    public void setAge (int age) {
        this.age = age;
    }

    public char getSex () {
        return sex;
    }

    public void setSex (char sex) {
        this.sex = sex;
    }

   public Student(){}
    public Student (String name, int age, char sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;
    }
}
//测试类
 class StudentTest{
    public static void main (String[] args) {
        Student.show("小明",20,'男');
        System.out.println("=================");
        Student s = new Student();
        s.setName("小明");
        s.setAge(20);
        s.setSex('男');
        System.out.println(s.getName());
        System.out.println(s.getAge());
        System.out.println(s.getSex());
        System.out.println("=====================");
        Student s2 = new Student("小明", 20, '男');
        System.out.println(s2.getName());
        System.out.println(s2.getAge());
        System.out.println(s2.getSex());
    }
}

2、编写java程序,分析如下需求,写出你分析的类有哪些,以及功能。最后写一个测试类,针对每个类的功能进行测试。

动物园里有很多种动物:

​ 比如说,狗,猫等。

​ 狗有姓名和年龄,猫也有姓名和年龄。

​ 狗有跑步的方法,猫也有跑步的方法。而且都仅仅是跑步。

​ 狗有吃饭的方法,猫也有吃饭的方法。只不过,狗吃骨头,猫吃鱼。

请用所学知识,对这个问题进行解决。

​ 抽象类:

​ 姓名,年龄

​ 跑步,

​ 抽象吃饭。

​ 狗类:具体吃饭

​ 猫类:具体吃饭

测试类
public class Test {
    public static void main (String[] args) {
        Animal an = new Dog();
        an.name="小黑";
        an.age=2;
        Animal.run();
        System.out.println(an.name);
        System.out.println(an.age);
        an.eat();
        System.out.println("----------------");
         an = new Cat();
         an.name="小花";
         an.age=1;
        System.out.println(an.name);
        System.out.println(an.age);
         Animal.run();
         an.eat();
 public abstract class Animal {
 public String name;
 public int age;
 public abstract void eat();
 public static void run(){
        System.out.println("跑步");
    }

}
public class Cat extends Animal {

    @Override
    public void eat () {
        System.out.println("猫吃鱼");
    }
}
public class Dog extends Animal {
    @Override
    public void eat () {
        System.out.println("狗吃骨头");
    }
}

3、编程练习

​ A:数组遍历

​ int[] arr = {98,23,16,35,72};

​ 写一个对象数组操作的功能,实现把数组中的数据按照如下格式返回:

​ “[98, 23, 16, 35, 72]”

class Test {
    public static void main (String[] args) {
        int[] arr = {98,23,16,35,72};
            System.out.print(Arrays.toString(arr));

    }
[98, 23, 16, 35, 72]

​ B:查找数组中指定元素第一次出现的索引值。

​ int[] arr = {98,23,16,35,72};

​ 查找23在数组中的索引值。

public class ShuZu2 {
    public static void main (String[] args) {
        int[] arr = {98,23,16,35,72};
        for(int i=0;i<arr.length;i++){
            if(arr[i]==23){
                System.out.println(i);
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值