Java 下面的程序生成编译时错误,它表示->;类型政治不接受参数
根据我的书它是好的!它说,如果我们使用该方法编写Java 下面的程序生成编译时错误,它表示->;类型政治不接受参数,java,Java,根据我的书它是好的!它说,如果我们使用该方法编写,那么我们就不需要强制转换对象参数。为什么我会出错 import java.util.*; interface politics { //interface void politician(Object obj); } class obama implements politics <obama> //class { String job; public void politician(oba
,那么我们就不需要强制转换对象
参数。为什么我会出错
import java.util.*;
interface politics { //interface
void politician(Object obj);
}
class obama implements politics <obama> //class
{
String job;
public void politician(obama p) {
if(p.job.equals("president")) {
System.out.print("You are right Obama is Mr. PRESIDENT");
}
else {
System.out.print("So you say Obama is a "+job.toUpperCase());
}
}
}
class interface2 { //class
public static void main(String args[]) { //main
Scanner in=new Scanner(System.in);
obama o=new obama();
System.out.println("president or citizen?");
String s=in.next();
o.job=s;
o.politician(o);
}
}
import java.util.*;
界面政治{//interface
无效政客(对象obj);
}
课堂奥巴马实施政治//课堂
{
字符串作业;
公共虚无政治家(奥巴马p){
如果(p.job.equals(“主席”)){
系统输出打印(“你是对的,奥巴马是总统先生”);
}
否则{
System.out.print(“所以你说奥巴马是一个”+job.toUpperCase());
}
}
}
类接口2{//class
公共静态void main(字符串args[]){//main
扫描仪输入=新扫描仪(系统输入);
奥巴马o=新奥巴马();
System.out.println(“总统还是公民?”);
字符串s=in.next();
o、 job=s;
o、 政治家(o);
}
}
您的界面不是通用的。在您的代码中,它应该如下所示:
interface politics<T> {
void politician(T obj);
}
public interface Comparable<T>
旁注:请遵循Java的命名约定。根据我的书,这是可以的我对此表示怀疑。让我们看看书中写了什么。同时阅读:@SotiriosDelimanolis这是链接,请告诉我们哪里错了?是否存在编译器错误?哪里它是否做了一些你期望它做的(什么)以外的事情(什么)?谢谢,你能解释一下区别吗?是的,但为什么它不使用对象类型参数?请先学习教程。在这之前,你无法理解我的答案。如果您在学习本教程后仍有问题,请随时提问。在理解乘法之前,你要我解释一下微分:)