public class Number {
int a,b;
public Number(int a,int b){
this.a=a;
this.b=b;
}
class Ma extends Number{
public Ma(int x,int y){
super(x,y);
}
public double getNmuber(){
return a*b;
}
}
public static void main(String []args){
Ma a=new Ma(3,4);
System.out.println(a.getNmuber());
}
}为什么编辑通不过 ???
int a,b;
public Number(int a,int b){
this.a=a;
this.b=b;
}
class Ma extends Number{
public Ma(int x,int y){
super(x,y);
}
public double getNmuber(){
return a*b;
}
}
public static void main(String []args){
Ma a=new Ma(3,4);
System.out.println(a.getNmuber());
}
}为什么编辑通不过 ???
解决方案 »
- AxisFault 错误
- web开发中的短信猫问题 恳请各位大侠给指点下 小弟谢了
- 新手提问:这么简单的问题,折腾我半天,还是不懂。。。
- SQLException: Operation not allowed after ResultSet closed 如何避免?
- 怎样才能获取用户输入站内URL地址不正确的地址呢!!好久都没解决了,请教!!!!!
- 今天编了个jsp程序可javabean里的函数调用老是出错啊
- SmartUpload文件下载,能用相对路径吗?
- Tomcat中servlet的问题
- 简单问题
- 求助看看这个报错——ssh2框架
- js如何把用户输入的值放进hidden里
- 实现------新页面中打开
int a, b; public Number(int a, int b) {
this.a = a;
this.b = b;
} public static void main(String[] args) {
Ma a = new Ma(3, 4);
System.out.println(a.getNmuber());
}
}class Ma extends Number {
public Ma(int x, int y) {
super(x, y);
} public double getNmuber() {
return a * b;
}
}
给Number 增加无参构造函数
改成
Ma a = new Number().new Ma(3, 4);
public class Number
{
int a, b;
public Number()
{
}
public Number(int a, int b)
{
this.a = a;
this.b = b;
}
class Ma extends Number
{
public Ma(int x, int y)
{
super(x, y);
}
public double getNmuber()
{
return a * b;
}
}
public static void main(String[] args)
{
Ma a = new Number().new Ma(3, 4);
System.out.println(a.getNmuber());
}
}
在类的非静态方法中调用该类的非静态内部类,可以直接new。
在类的静态方法中调用该类的非静态内部类,就必须通过外部类的实例来new。也就是说假如你在Number里面定义一个非静态方法,你就可以Ma a = new Ma(3, 4);这样来new
但是main 是static的 是类函数不是实例函数,所以必须通过Number的实例来new Ma的实例
按如下方式就可以了:
public class Number {
int a, b; public Number(int a, int b) {
this.a = a;
this.b = b;
} class Ma extends Number {
public Ma(int x, int y) {
super(x, y);
} public double getNmuber() {
return a * b;
}
} public static void main(String[] args) {
Number n = new Number(1,2);
Number.Ma m = new Ma(1,1);
System.out.println(m.getNmuber());
}
}