发布网友 发布时间:2022-04-24 05:43
共2个回答
热心网友 时间:2023-11-02 00:45
Java中主类不可以用static修饰,也就是不能为静态的。但是可以作为某个类的内部类用static修饰。如果B是A的静态内部类,可以直接用A.B调用。因为static修饰的成员是属于类的,不是对象,可以直接调用。
——————————————————
A,B两个类,在B类里,需要先实例化A类,然后再用A的对象去调用其中的方法
A a=new A(); a.A的方法();追问那如果a想调用B类中的方法,且A,B类在同一个包中,这样可以吧,
如果B类和A类不在同一个包中,我导入B类的包,A类的实例化对象a也能调用B类的方法吧,
可是有一点我想不通,就是我导入B类包后,我用A类实例化对象可以这样,就是不用new来实例,,比方说:如下
A a=B.method("哈哈")。
这样写,不也实例化一个对象a,,根本就没有new呀,,问什么可以这样,,而且这种形式很多!
追答一个个回答
第一a想调用B类的方法,是不可以的,因为a是A的实例,只能用自己的。怎么可能调用B的方法呢。不管在不在同一个包里
A a=B.method("哈哈")。
你要明白,对象是引用类型,是可以传递引用的。类型一样就可以。至于你这句话,
class B{
public static A method(Object obj){
return new A();
}
}
A a=B.method(“xxx”);
B直接调用自己的方法,那么该方法肯定是static修饰的,至于为什么可以这样写,是因为B的method方法,返回的就是A的示例,所以可以直接传递引用,当然method方法的值也可能是其他方法得到的
热心网友 时间:2023-11-02 00:45
你这样的问题太大了,还是得多学一点,自然就懂了,多敲追问大吗?感觉不大呀,哪里都能见到
追答我的意思是 emmm你用想学这个的话,再多学学,可能是基础有点薄弱,我也很菜
热心网友 时间:2023-11-02 00:45
Java中主类不可以用static修饰,也就是不能为静态的。但是可以作为某个类的内部类用static修饰。如果B是A的静态内部类,可以直接用A.B调用。因为static修饰的成员是属于类的,不是对象,可以直接调用。
——————————————————
A,B两个类,在B类里,需要先实例化A类,然后再用A的对象去调用其中的方法
A a=new A(); a.A的方法();追问那如果a想调用B类中的方法,且A,B类在同一个包中,这样可以吧,
如果B类和A类不在同一个包中,我导入B类的包,A类的实例化对象a也能调用B类的方法吧,
可是有一点我想不通,就是我导入B类包后,我用A类实例化对象可以这样,就是不用new来实例,,比方说:如下
A a=B.method("哈哈")。
这样写,不也实例化一个对象a,,根本就没有new呀,,问什么可以这样,,而且这种形式很多!
追答一个个回答
第一a想调用B类的方法,是不可以的,因为a是A的实例,只能用自己的。怎么可能调用B的方法呢。不管在不在同一个包里
A a=B.method("哈哈")。
你要明白,对象是引用类型,是可以传递引用的。类型一样就可以。至于你这句话,
class B{
public static A method(Object obj){
return new A();
}
}
A a=B.method(“xxx”);
B直接调用自己的方法,那么该方法肯定是static修饰的,至于为什么可以这样写,是因为B的method方法,返回的就是A的示例,所以可以直接传递引用,当然method方法的值也可能是其他方法得到的
热心网友 时间:2023-11-02 00:45
你这样的问题太大了,还是得多学一点,自然就懂了,多敲追问大吗?感觉不大呀,哪里都能见到
追答我的意思是 emmm你用想学这个的话,再多学学,可能是基础有点薄弱,我也很菜
热心网友 时间:2023-11-02 00:45
Java中主类不可以用static修饰,也就是不能为静态的。但是可以作为某个类的内部类用static修饰。如果B是A的静态内部类,可以直接用A.B调用。因为static修饰的成员是属于类的,不是对象,可以直接调用。
——————————————————
A,B两个类,在B类里,需要先实例化A类,然后再用A的对象去调用其中的方法
A a=new A(); a.A的方法();追问那如果a想调用B类中的方法,且A,B类在同一个包中,这样可以吧,
如果B类和A类不在同一个包中,我导入B类的包,A类的实例化对象a也能调用B类的方法吧,
可是有一点我想不通,就是我导入B类包后,我用A类实例化对象可以这样,就是不用new来实例,,比方说:如下
A a=B.method("哈哈")。
这样写,不也实例化一个对象a,,根本就没有new呀,,问什么可以这样,,而且这种形式很多!
追答一个个回答
第一a想调用B类的方法,是不可以的,因为a是A的实例,只能用自己的。怎么可能调用B的方法呢。不管在不在同一个包里
A a=B.method("哈哈")。
你要明白,对象是引用类型,是可以传递引用的。类型一样就可以。至于你这句话,
class B{
public static A method(Object obj){
return new A();
}
}
A a=B.method(“xxx”);
B直接调用自己的方法,那么该方法肯定是static修饰的,至于为什么可以这样写,是因为B的method方法,返回的就是A的示例,所以可以直接传递引用,当然method方法的值也可能是其他方法得到的
热心网友 时间:2023-11-02 00:46
你这样的问题太大了,还是得多学一点,自然就懂了,多敲追问大吗?感觉不大呀,哪里都能见到
追答我的意思是 emmm你用想学这个的话,再多学学,可能是基础有点薄弱,我也很菜