导航:首页 > 知识科普 > 调用非静态方法怎么实现

调用非静态方法怎么实现

发布时间:2024-03-15 09:37:32

⑴ java中main方法里面调用非静态方法。

静态方法只能直接访问静态成员,无法访问非静态成员,如果想要访问非静态方法,则实例化该类对象,使用对象名.非静态方法()的方式来访问!

static是一种访问修饰符,在java中可以修饰代码块、方法和属性
1、静态块:用于在类加载之前完成一些初始化操作,仅会执行一次

2、静态方法:可以使用类名和对象调用,只能直接访问静态成员,无法访问非静态成员

3、静态属性:可以使用类名和对象名调用,多个对象共享

⑵ java中如何在静态方法中实现对非静态方法的调用,请问各位有没有具体的例子

public class A{x0dx0a //类A中非静态方法x0dx0ax0dx0a public void func(){ ...... }x0dx0a x0dx0a //类A中静态方法(主函数)x0dx0ax0dx0a public static void main(String[] args){x0dx0a A a=new A();//需实例化A的对象后才可以调用A中非静态方法x0dx0a a.func();x0dx0a }x0dx0ax0dx0a如上面这个简单的例子,静态方法对非静态方法发起调用时,需实例化包含非静态方法的类的对象。如果类A中静态方败凳法需调用类B中非静态方法时,也需实例化B的对象。x0dx0ax0dx0a原因解释:类中静态的方法或者属性,本质上来讲并不是该类的成员,在java虚拟机装在类的时候,这些静态的东西已经有了对象,它只是在这个类中"寄居",不需要此枯念通过类的构造器(构造函数)类实现实例化;而非静态的属性或者方法,在类的装载是并没有存在,需在执行了该类的构造函数后才可依赖该类的实例对象存在。所以在静态方法中调森困用非静态方法时,编译器会报错(Cannot make a static reference to the non-static method func() from the type A)。x0dx0ax0dx0a不知这么说你懂了没,如果还有什么不懂可以继续问我。

⑶ java主方法如何调用非静态方法

java主方法调用非静态方法的步骤:

** * Created by Administrator on 2016/7/25.

*/

public class NOstaticMethod {

//satement new variable name: studentName

public static String studentName = "xxx";

//satetment new variable nmae: country

public static String country;

//satement new variable name: nation

private static String nation;

//satement new variable name: subject

public String subject = "物理";

//satement new variable name: school

private String school;

//create main method

public static void main(String[] args) {

//NOstaticMethod.Method_1(); 在静态方法main中是不能直接调用非静态方法Method_1的

//只能通过创建类的对象,再由对象去调用成员方法以及成员变量。

NOstaticMethod wangyan = new NOstaticMethod();

//call methol

wangyan.Method_1();

// String physics= subject;在静态方法中也是不能访问非静态成员变量的

//call not static variable

String physics = wangyan.subject;

System.out.println("在主方法main()中只能通过对象来调用非静态成员变量subject:" + physics);

}

//create new method name: Method_1()

public void Method_1() {

System.out.println("Method_1是一个公共的、非静态的方法");

System.out.println("在非静态方法Method_1中访问静态成员变量“学生姓名”(studentName):" + studentName);

System.out.println("在method_1中直接调用非静态成员变量subject:" + subject);

}

Method_1是一个公共的、非静态的方法

在非静态方法Method_1中访问静态成员变量“学生姓名”(studentName)

在method_1中直接调用非静态成员变量subject(科目)

在主方法main()中只能通过对象来调用非静态成员变量subject

public static void main(String[] args) {

//NOstaticMethod.Method_1(); 在静态方法main中是不能直接调用非静态方法Method_1的

//只能通过创建类的对象,再由对象去调用成员方法以及成员变量。

NOstaticMethod wangyan = new NOstaticMethod();

//call methol

wangyan.Method_1();

// String physics= subject; 在静态方法中也是不能访问非静态成员变量的

//call not static variable

String physics = wangyan.subject;

System.out.println("在主方法main()中只能通过对象来调用非静态成员变量subject:" + physics);

}

⑷ java中main函数怎么调用外部非static方法

方法可以分为静态方法和实例方法

在main函数里调用非static方法(实例方法),那么可以通过创建实例对象,然后来调用实例方法

具体代码和注释如下

publicclassFunDemo{
//静态方法
publicstaticvoidsayHello(Stringname){
System.out.println("Hello"+name);
}
//实例方法
publicvoidsayBye(Stringname){
System.out.println("ByeBye"+name);;
}
//main方法
publicstaticvoidmain(String[]args){

FunDemo.sayHello("tom");//类名.方法名去调用静态的方法
sayHello("jack");//本类里调用静态方法,类名就可以省略了

FunDemofn=newFunDemo();//创建本类的实例对象
fn.sayBye("tom");//实例对象.方法名去调用实例方法
fn.sayBye("jack");
fn.sayHello("Word");//虽然实例对象也可以调用静态方法,但是不推荐这种调用方式
}
}

输出

Hellotom
Hellojack
ByeByetom
ByeByejack
HelloWord
阅读全文

与调用非静态方法怎么实现相关的资料

热点内容
治疗尖锐湿效果好的方法 浏览:829
你使用方法 浏览:793
什么方法可以让阴道变紧 浏览:502
剪红藤的正确方法视频 浏览:732
进行自我评价制定锻炼方法 浏览:124
如何解除心烦的方法 浏览:792
面膜使用方法素材 浏览:641
除了试鞋有什么方法测量鞋码 浏览:68
治疗咳嗽有哪些好的方法 浏览:312
瓷砖粗细度测量方法 浏览:30
术后切口加速愈合有什么方法 浏览:758
气血不足土方法怎么治疗 浏览:896
野生灵芝如何保存方法 浏览:504
小烫伤怎么办处理方法 浏览:66
吃完饭后犯困有什么方法可以提神 浏览:830
野马造车难题解决方法 浏览:57
金融学的研究生方法 浏览:809
用仪器检测的方法 浏览:229
论述方法怎么写 浏览:712
开发时间评估方法有哪些 浏览:898