什么叫做静态方法?
程序代码:
package demo;
abstract class Base{
public Base(int i){
System.out.println("i="+i);
}
public abstract void method();
}
public class demo6 {
public static Base getBase(int i){//声明静态方法
return new Base(i){
{
System.out.println("匿名内部构造方法");
}
public void method(){
System.out.println("method()");
}
};
}
public static void main(String[] args) {
Base base=getBase(123);
base.method();
}
}
abstract class Base{
public Base(int i){
System.out.println("i="+i);
}
public abstract void method();
}
public class demo6 {
public static Base getBase(int i){//声明静态方法
return new Base(i){
{
System.out.println("匿名内部构造方法");
}
public void method(){
System.out.println("method()");
}
};
}
public static void main(String[] args) {
Base base=getBase(123);
base.method();
}
}
上面有个声明静态方法,请问什么叫做声明静态方法?我看了好多遍没懂
搜索更多相关的解决方案:
method
----------------解决方案--------------------------------------------------------
把static去掉再运行应该大概能猜到是干嘛的吧...!
----------------解决方案--------------------------------------------------------
Static:用static修饰的成员变量叫做静态变量,该类的每一个对象共用该变量,用static修饰的方法叫做静态方法,对于静态成员,可以在类没有被实例化成对象的时候,直接调用,形式如下:“类名.变量名”“类名.方法名”
静态成员不能直接调用非静态成员
----------------解决方案--------------------------------------------------------
诚如三楼所说。补充:静态变量或者方法在加载类的时候加载到静态区
----------------解决方案--------------------------------------------------------
回复 3楼 轻轻风火
public static Base getBase(int i){//声明静态方法嗯,我明白你的意思,但是 Base getBase 这句中间为什么有空格呢?他的原型是什么呢?
----------------解决方案--------------------------------------------------------
对于Base getBase(int i)这句,前一个Base是方法的返回值类型,后面getBase是方法名称
----------------解决方案--------------------------------------------------------
回复 6楼 gmh0421
这位大神。。。Base返回值类型什么意思?有几种数据类型? ----------------解决方案--------------------------------------------------------
返回的是一个对象,“return new Base(i)”,不是数据类型。
主数据类型有四类八种。
还有我不是大神,我是新手
如回答有不对的地方请多多指教
----------------解决方案--------------------------------------------------------
这个东西应该是属于类变量
----------------解决方案--------------------------------------------------------
回复 7楼 赵疯子
1. 首先函数/方法分为“有返回值的”与“无返回值的”2. “无返回值的”的方法用 void 关键字修饰, “有返回值的”方法 返回的可以是“原生数据”类型和 “引用数据”类型
3. 这里的函数就是返回一个 “引用数据类型”
----------------解决方案--------------------------------------------------------