如何创建类的实例并在子类中实现它?
问题描述:
我将如何创建一个类的实例以用作另一个类中的属性?我相信这是我需要做的:如何创建类的实例并在子类中实现它?
ClassA a1 = new ClassA(); // ClassA is the super class
这是我卡住,如果我上面的代码是正确的。我如何在ClassA的子类中实际使用它,比如说ClassB?因此,如果ClassA具有“名称”和“年龄”,而ClassB具有“承租人”,那么为了给租户姓名和年龄,我需要做些什么?
答
如果ClassB extends ClassA
然后ClassB
将继承所有的ClassA
属性。下面是一个简单的例子:
public class ClassA {
private String name;
private int age;
public ClassA(String name, int age)
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int ageGetAge() {
return age;
}
}
public class ClassB extends ClassA {
private String tenant;
public ClassB(String name, int age, String tenant) {
super(name, age);
this.tenant = tenant;
}
public String getTenant() {
return tenant;
}
}
对于这些类,如果你创建在你的程序的某些部分ClassB
对象,你就可以调用的方法getName()
和getAge()
因为ClassB extends ClassA
。
public static void main(String[] args) {
ClassB object = new ClassB("me", 0, "you");
System.out.println(object.getName());
System.out.println(object.getAge() + "");
System.out.println(object.getTenant());
}
这段代码将输出以下内容:
me
0
you
还有的要对这个取决于多种变量是否protected
,private
,或者public
方式略有不同。我会建议阅读更多关于知名度等。
祝你好运。
答
如果B类延长A级,那么你就可以自动只要在一个类中声明时
你可以做classBInstance.name = "bob";
答
以及他们是不是私人的访问B类的名字和年龄元素B类继承自A类,因此在B类的构造函数中,您使用Super()调用超类的构造函数,然后当您想要从子类中的超类中使用属性时,只需使用super,那么super .getAttribute()例如
答
您可以使用类和subclasse的想法s,并且使用受保护字段:
public class ClassA {
protected String name;
protected int age;
public ClassA(String name, int age) {
this.name = name;
this.age = age;
}
}
public class ClassB extends ClassA {
private String tenant;
public ClassB(String name, int age, String tenant) {
super(name, age);
this.tenant = tenant;
}
public static void main(String[] args) {
ClassB b = new ClassB("Carol", 23, "some tenant");
String tenant = b.tenant;
int age = b.age;
String name = b.name;
}
}
https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html – GriffeyDog
你已经得到了四个答案,没有投票或接受任何 - 为什么? –