如果从Main类调用返回空值

时间:2016-09-15 15:45:35

标签: java

主要课程:

package com.home.dhe;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Display q = new Display();
        q.getinfo();
        Getname z = new Getname();
        z.print();
    }
}

展示班级:

public class Display extends Getname{

     public void getinfo() {
            System.out.println("Enter name");
            Scanner sc = new Scanner(System.in);
            String d = sc.next();
            System.out.println("Marks?");
            int c = sc.nextInt();
            Getname z = new Getname();
            z.change(d, c);

        }
    }'

Getname类:

public class Getname {


    private int marks;
    private String name;

    public void change(String a, int b){

        name = a;
        marks = b;
        }

    public void print(){

        System.out.println("Student info");
        System.out.println("marks:"+marks);
        System.out.println("Name:"+name);
    }

}

我的问题是我调用print()方法(来自Getname类)  从Main类它返回一个空值。但是当我从另一个班级调用它时,它可以工作。

有人可以告诉我为什么吗?

2 个答案:

答案 0 :(得分:1)

您正在放弃df['rollmax_date'] = df.loc[(df["Price"] == df.rollmax), 'Date'] 创建的<select onChange="window.location.href=this.value"> <option value='none' selected>Please Select WebSite...</option> <option value="http://www.Link1.com">Title1</option> <option value="http://www.Link2.com">Title2</option> <option value="http://www.Link3.com">Title3</option> </select> 实例。您可能想要做的是从Getname返回q.getInfo()实例并使用它来打印。

Getname

然后在q.getInfo()方法中。

public class Display extends Getname {

    public Getname getinfo() {
        System.out.println("Enter name");
        Scanner sc = new Scanner(System.in);
        String d = sc.next();
        System.out.println("Marks?");
        int c = sc.nextInt();
        Getname z = new Getname();
        z.change(d, c);
        return z;
    }
}

总的来说,我认为您可能会遇到一些应该修复的设计问题。

答案 1 :(得分:1)

两个标记,类Getname中的名称即时变量需要初始化,否则,将为它们分配默认值:整数为零,String为null。