初学者 - Java 扩展
Beginner - Java extends
嗨,我今天开始学习 Java,我的代码有问题。
我有 3 个不同的 classes 并希望 int "blz" 获得超级数字的值,然后 "blz" 的值应该打印在主 class 中。
这是我当前的代码:
我的主要 class "Start":
public class Start
{
public static void main(String[] args)
{
Volksbank aufruf = new Volksbank(); //dont know how I can print blz
}
}
我的第二个class "Bank":
public abstract class Bank {
private int Kontonummer;
private int blz;
public Bank(){}
public Bank(int bankleitzahl){
this.blz = bankleitzahl;
}
}
我的最后一个 class "Volksbank":
public class Volksbank extends Bank
{
public Volksbank(int bankleitzahl)
{
super(234345);
}
}
您需要先将 blz
暴露在外部 类。
public abstract class Bank
{
private int Kontonummer;
private int blz;
public Bank(){}
public Bank(int bankleitzahl)
{
this.blz = bankleitzahl;
}
public int getBlz()
{
return this.blz;
}
}
然后你可以从Start
:
获取并打印
public class Start
{
public static void main(String[] args)
{
Volksbank aufruf = new Volksbank();
System.out.println(aufruf.getBlz());
}
}
您需要添加 "getter" 到您的银行 class:
public abstract class Bank {
private int Kontonummer;
private int blz;
public Bank(){}
public Bank(int bankleitzahl){
this.blz = bankleitzahl;
}
public int getBlz()
{
return blz;
}
}
public class Volksbank extends Bank
{
public Volksbank(int bankleitzahl)
{
super(bankleitzahl);
}
}
然后在您的 main 中调用您的 getBlz() 方法:
public class Start
{
public static void main(String[] args)
{
Volksbank aufruf = new Volksbank(234345);
System.out.println(aufruf.getBlz());
}
}
定义一个名为
的方法
public int getBlz() {
return blz;
}
超级class.
public class Start
{
public static void main(String[] args)
{
Volksbank aufruf = new Volksbank(); //dont know how I can print blz
System.out.println(aufruf.getBlz());
}
}
使用模式getter/setter,更喜欢使用摘要class作为左类型来保证合同约定。
public class Start
{
public static void main(String[] args)
{
Bank aufruf = new Volksbank(); //dont know how I can print blz
System.out.println(aufruf.getBlz());
}
}
public abstract class Bank
{
private int Kontonummer;
private int blz;
public Bank(){}
public Bank(int bankleitzahl)
{
this.blz = bankleitzahl;
}
public int getBlz(){
return blz;
}
}
您无法访问它,因为它是 private 只有声明它的 class 才能看到它。
因此您必须为该变量声明 public getter 才能获得它的值
public abstract class Bank
{
private int Kontonummer;
private int blz;
public Bank(){}
public Bank(int bankleitzahl)
{
this.blz = bankleitzahl;
}
public int getBlz() //public getter to access blz value
{
return this.blz;
}
}
您可以通过 getter 访问它:-
public class Start
{
public static void main(String[] args)
{
Volksbank aufruf = new Volksbank(234345);
System.out.println(aufruf.getBlz());
}
}
如果您想设置它的值,您必须为该变量声明 setter
创建一个名为 getblz()
的方法,它将 return blz 的值。
由于您是初学者,我不确定您是否了解 getter 或 setter 方法。我看得出来你在努力学习继承,抽象 类.
了解更多 getter 和 setter
How do getters and setters work?
还有一件事我想提一下,您在 Volksbank
中有参数化构造函数。但是当你在 main 中创建 Volksbank
的对象时,你应该在创建对象时传递 int 参数。尽管如果你不通过 jvm 将为你创建默认构造函数。
public class Start {
public static void main(String[] args) {
{
Volksbank aufruf = new Volksbank(100);
System.out.println("Tha value of BLZ is"+aufruf.getblz());
}
}
}
abstract class Bank
{
private int Kontonummer;
private int blz;
public Bank(){}
public Bank(int bankleitzahl)
{
this.blz = bankleitzahl;
System.out.println("blz :"+blz);
}
public int getblz()
{
return blz;
}
}
class Volksbank extends Bank
{
public Volksbank(int bankleitzahl)
{
super(234345);
System.out.println("bankleitzahl :"+bankleitzahl);
}
}
嗨,我今天开始学习 Java,我的代码有问题。 我有 3 个不同的 classes 并希望 int "blz" 获得超级数字的值,然后 "blz" 的值应该打印在主 class 中。
这是我当前的代码: 我的主要 class "Start":
public class Start
{
public static void main(String[] args)
{
Volksbank aufruf = new Volksbank(); //dont know how I can print blz
}
}
我的第二个class "Bank":
public abstract class Bank {
private int Kontonummer;
private int blz;
public Bank(){}
public Bank(int bankleitzahl){
this.blz = bankleitzahl;
}
}
我的最后一个 class "Volksbank":
public class Volksbank extends Bank
{
public Volksbank(int bankleitzahl)
{
super(234345);
}
}
您需要先将 blz
暴露在外部 类。
public abstract class Bank
{
private int Kontonummer;
private int blz;
public Bank(){}
public Bank(int bankleitzahl)
{
this.blz = bankleitzahl;
}
public int getBlz()
{
return this.blz;
}
}
然后你可以从Start
:
public class Start
{
public static void main(String[] args)
{
Volksbank aufruf = new Volksbank();
System.out.println(aufruf.getBlz());
}
}
您需要添加 "getter" 到您的银行 class:
public abstract class Bank {
private int Kontonummer;
private int blz;
public Bank(){}
public Bank(int bankleitzahl){
this.blz = bankleitzahl;
}
public int getBlz()
{
return blz;
}
}
public class Volksbank extends Bank
{
public Volksbank(int bankleitzahl)
{
super(bankleitzahl);
}
}
然后在您的 main 中调用您的 getBlz() 方法:
public class Start
{
public static void main(String[] args)
{
Volksbank aufruf = new Volksbank(234345);
System.out.println(aufruf.getBlz());
}
}
定义一个名为
的方法public int getBlz() {
return blz;
}
超级class.
public class Start
{
public static void main(String[] args)
{
Volksbank aufruf = new Volksbank(); //dont know how I can print blz
System.out.println(aufruf.getBlz());
}
}
使用模式getter/setter,更喜欢使用摘要class作为左类型来保证合同约定。
public class Start
{
public static void main(String[] args)
{
Bank aufruf = new Volksbank(); //dont know how I can print blz
System.out.println(aufruf.getBlz());
}
}
public abstract class Bank
{
private int Kontonummer;
private int blz;
public Bank(){}
public Bank(int bankleitzahl)
{
this.blz = bankleitzahl;
}
public int getBlz(){
return blz;
}
}
您无法访问它,因为它是 private 只有声明它的 class 才能看到它。
因此您必须为该变量声明 public getter 才能获得它的值
public abstract class Bank
{
private int Kontonummer;
private int blz;
public Bank(){}
public Bank(int bankleitzahl)
{
this.blz = bankleitzahl;
}
public int getBlz() //public getter to access blz value
{
return this.blz;
}
}
您可以通过 getter 访问它:-
public class Start
{
public static void main(String[] args)
{
Volksbank aufruf = new Volksbank(234345);
System.out.println(aufruf.getBlz());
}
}
如果您想设置它的值,您必须为该变量声明 setter
创建一个名为 getblz()
的方法,它将 return blz 的值。
由于您是初学者,我不确定您是否了解 getter 或 setter 方法。我看得出来你在努力学习继承,抽象 类.
了解更多 getter 和 setter
How do getters and setters work?
还有一件事我想提一下,您在 Volksbank
中有参数化构造函数。但是当你在 main 中创建 Volksbank
的对象时,你应该在创建对象时传递 int 参数。尽管如果你不通过 jvm 将为你创建默认构造函数。
public class Start {
public static void main(String[] args) {
{
Volksbank aufruf = new Volksbank(100);
System.out.println("Tha value of BLZ is"+aufruf.getblz());
}
}
}
abstract class Bank
{
private int Kontonummer;
private int blz;
public Bank(){}
public Bank(int bankleitzahl)
{
this.blz = bankleitzahl;
System.out.println("blz :"+blz);
}
public int getblz()
{
return blz;
}
}
class Volksbank extends Bank
{
public Volksbank(int bankleitzahl)
{
super(234345);
System.out.println("bankleitzahl :"+bankleitzahl);
}
}