充下面程序。 classDog{ privateStringname; (2分);//私有整型成员变量age(2分)//无参构造方法 Dog(intage){ this("哈士奇",5); } Dog(Stringname,intage){ (2分)//成员变量姓名赋值 this.age=age; } publicvoidshow(){ System.out.println("狗的名字是"(2分)"年龄是 "+age);//输出名字并连接成字符串 } } publicclassDemo{ publicstatic(2分)(String[]args){//主方法 newDog(10).show(); } }
时间: 2024-04-02 21:33:27 浏览: 41
class Dog {
private String name;
private int age;
// 无参构造方法
Dog() {
this("哈士奇", 5);
}
// 带参构造方法
Dog(String name, int age) {
this.name = name;
this.age = age;
}
public void show() {
System.out.println("狗的名字是" + name + ",年龄是 " + age);
}
}
public class Demo {
public static void main(String[] args) {
new Dog(10).show();
}
}
相关问题
简述Java中多态性的动态绑定机制,并举例说明。 publicclassTestDemo{ publicstaticvoidmain(String[]args){//主函数不允许修改 Personper=newPerson("zhangsan",20); } } classPerson{ privateStringname; privateintage; publicPerson(){ this.name="zhangsan"; this.age=20; } }
Java中的多态性是指同一种方法在不同的对象上执行不同的操作。Java的多态性是通过动态绑定机制实现的。在运行时,Java虚拟机会根据对象的实际类型来决定调用哪个方法的实现。
举个例子,假设我们有一个Animal类和一个Dog类,Dog类是Animal类的子类。Animal类中有一个makeSound()方法,而Dog类继承了Animal类并覆盖了makeSound()方法。现在我们创建一个Animal类型的引用变量,将它指向一个Dog对象,然后调用makeSound()方法。由于Dog类覆盖了Animal类的makeSound()方法,因此在运行时,Java虚拟机会调用Dog类中的makeSound()方法,而不是Animal类中的makeSound()方法。
代码示例:
```
class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
class Dog extends Animal {
public void makeSound() {
System.out.println("The dog barks");
}
}
public class TestDemo {
public static void main(String[] args) {
Animal animal = new Dog();
animal.makeSound(); // 输出 "The dog barks"
}
}
```
在这个示例中,我们创建了一个Animal类型的变量animal,但实际上它指向的是一个Dog对象。当我们调用animal的makeSound()方法时,由于动态绑定机制的存在,Java虚拟机会调用Dog类中的makeSound()方法,因此输出的内容是"The dog barks"。
阅读全文