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

调用非静态方法怎么实现

发布时间: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
阅读全文

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

热点内容
空气过敏治疗方法 浏览:485
如何用不同的方法表示问题 浏览:72
风的遥感测量方法 浏览:882
手术器械常用的灭菌方法是什么 浏览:795
手压塑料泵使用方法 浏览:44
排列三的正确分析方法 浏览:741
实体鉴别的方法有哪些 浏览:120
如何用简单方法测试电阻 浏览:402
西装衣架上的裤夹使用方法图片 浏览:932
资料分析平均数化简方法 浏览:933
可可豆粉的食用方法 浏览:222
一丝不苟的教学方法 浏览:953
阻力带练大腿的锻炼方法大全 浏览:679
手机缺点解决方法 浏览:80
船舶水尺水线测量方法 浏览:518
双赢谈判技巧和方法 浏览:241
解决疲劳驾驶的最主要的有效方法 浏览:313
送汤的正确使用方法 浏览:649
溺水求救方法图片 浏览:827
吸烟离心机的使用方法步骤 浏览:133