请解释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);
}
}
}
}