在java中的继承程序中找不到符号错误
当我执行此编码时,我得到最后一行中的错误为“fs.showSalary()”->找不到符号“(点)”方法在java中的继承程序中找不到符号错误,java,inheritance,Java,Inheritance,当我执行此编码时,我得到最后一行中的错误为“fs.showSalary()”->找不到符号“(点)”方法showSalary未在中定义。您需要添加该方法或使用Second的实例来使用该方法方法showSalary未在First中定义。您需要添加该方法或使用Second的实例来使用该方法编译器始终根据访问该方法的引用的声明类型解析方法调用或字段访问 由于fs的声明类型是First,编译器将在First类中查找showSalary()的方法声明,但找不到。因此它给出了编译器错误。编译器总是根据访问方
showSalary
未在中定义。您需要添加该方法或使用Second
的实例来使用该方法方法showSalary
未在First
中定义。您需要添加该方法或使用Second
的实例来使用该方法编译器始终根据访问该方法的引用的声明类型解析方法调用或字段访问
由于fs
的声明类型是First
,编译器将在First
类中查找showSalary()
的方法声明,但找不到。因此它给出了编译器错误。编译器总是根据访问方法的引用的声明类型来解析方法调用或字段访问
由于fs
的声明类型是First
,编译器将在First
类中查找showSalary()
的方法声明,但找不到。因此它给出了编译器错误。您的“第一”类没有showSalary()
函数……您的“第一”类没有showSalary()
函数。。。
import java.io.*;
import java.lang.*;
import java.util.*;
class First
{
public int No;
public String Name;
void getDetails() throws IOException
{
Scanner sc = new Scanner(System.in);
No = sc.nextInt();
Name = sc.nextLine();
}
void showDetails() throws IOException
{
System.out.println("The No and Name entered is: " +No +"\t" +Name);
}
}
class Second extends First
{
public double Salary;
public void showSalary() throws IOException
{
BufferedReader br = new BufferedReader ( new InputStreamReader (System.in) );
Salary = Double.parseDouble(br.readLine() );
System.out.println(" The salary for no:" +No +"is" +Salary);
}
}
class Demo_Inheritance
{
public static void main(String s[]) throws IOException
{
Second sd = new Second();
sd.getDetails();
sd.showDetails();
sd.showSalary();
First fs = new First();
fs.getDetails();
fs.showDetails();
fs.showSalary(); }
}