Discuss / Java / 练习

练习

Topic source

狠美味2013

#1 Created at ... [Delete] [Delete and Lock User]

/**

 * 定义PrimaryStudent,从Student继承,新增grade字段:

 * 

 * @author yuanxiaowen

 * 

 */

public class ExtendsExample {

public static void main(String[] args) {

Person p = new Person("小明", 12);

Student s = new Student("小红", 20, 99);

// TODO: 定义PrimaryStudent,从Student继承,新增grade字段:

Student ps = new PrimaryStudent("小军", 9, 100, 5);

System.out.println(p.getName());

System.out.println(s.getName());

System.out.println("name:" + ps.getName() + ";" + "score:"

+ ps.getScore());

System.out.println("name:" + ps.getName() + ";" + "grade:"

+ ((PrimaryStudent) ps).getGrade());

}

}

/**

 * 给Person增加构造方法; 给Person增加重载方法setName(String, String)

 * 

 * @author yuanxiaowen

 */

public class Person {

private String name;

private int age;

public Person() {

}

public Person(String name, int age) {

this.name = name;

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return this.age;

}

public void setAge(int age) {

this.age = age;

}

public void setName(String prename, String lastname) {

this.name = prename + " " + lastname;

}

}

/**

 * Student

 * 

 * @author yuanxiaowen

 * 

 */

public class Student extends Person {

protected int score;

public Student(String name, int age, int score) {

super(name, age);

this.score = score;

}

public int getScore() {

return score;

}

}

/**

 * 定义PrimaryStudent,从Student继承,新增grade字段:

 * 

 * @author yuanxiaowen

 * 

 */

public class PrimaryStudent extends Student {

// TODO: 定义PrimaryStudent,从Student继承,新增grade字段:

protected int grade;

public PrimaryStudent(String name, int age, int score, int grade) {

super(name, age, score);

this.grade = grade;

}

public int getGrade() {

return this.grade;

}

public void setGrade(int grade) {

this.grade = grade;

}

}

小梁20420

#2 Created at ... [Delete] [Delete and Lock User]

System.out.println("name:" + ps.getName() + ";" + "grade:"+ ((PrimaryStudent) ps).getGrade());请问你这句代码的((PrimaryStudent) ps).getGrade()为什么(PrimaryStudent) ps.getGrade()不行,一定是要将ps也用括号包起来才可以打印。


  • 1

Reply