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

调用非静态方法怎么实现

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

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

热点内容
三首艾青的诗作并揣摩技巧方法 浏览:624
定量甲基化检测方法 浏览:792
乳香的食用方法 浏览:847
简单易学的三种方法 浏览:490
良好沟通的方法和技巧 浏览:774
232除29的简便方法 浏览:66
快速开镜开火的方法使命召唤 浏览:599
自热雪菜扣肉煲仔饭食用方法 浏览:198
吉他背带使用方法 浏览:109
65乘98加130简便方法计算 浏览:904
mjxrc遥控器使用方法 浏览:554
正调黑坑鲤鱼技巧和方法 浏览:831
土壤水分检测方法 浏览:874
中医治疗脑血肿的方法 浏览:632
被狗屎蜂蛰了怎么办普通方法 浏览:792
保护图片版权有哪几种方法 浏览:866
小米2隐藏的照片在哪里设置方法 浏览:879
红米手机字体管家使用方法 浏览:922
米6的耳机位置在哪里设置方法 浏览:671
用道家方法如何查出生日期 浏览:269