为什么第一种加了static才可调用方法,第二种创建对象后才可调用?
第一种:
package com.tianmg;
public class HelloWorld{
public static void main(String[] args){
/*
* 通过定义无参带返回值的方法来实现,返回值为最大年龄
* 方法中将数组学生年龄保存在数组ages中,数组元素依次为18,23,21,19,25,29,17
* */
System.out.println("最大年龄为:"+maxAge());
}
static int maxAge(){
int[] ages={18,23,21,19,25,29,17};
int max=ages[0];
for(int i=0;imax)
{
max=ages;
}
}
return max;
}
}
第二种:
package com.tianmg;
public class HelloWorld{
public static void main(String[] args){
/*
* 通过定义无参带返回值的方法来实现,返回值为最大年龄
* 方法中将数组学生年龄保存在数组ages中,数组元素依次为18,23,21,19,25,29,17
* */
HelloWorld hello=new HelloWorld();//创建对象,名为hello
System.out.println("最大年龄为:"+hello.maxAge());
}
int maxAge(){
int[] ages={18,23,21,19,25,29,17};
int max=ages[0];
for(int i=0;imax)
{
max=ages;
}
}
return max;
}
} |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
静态方法可以理解为类的方法,加载类文件的时候就有了 |
|
|
|
|
http://www.imooc.com/code/1843整个是幕课java入门第二季具体有关整个静态static的讲解.
- 第一种你说的那个你自己设置的maxAge()叫静态方法,在其他静态方法内可以直接调用,因为那个main主函数,主方法就是静态的,他调用静态的变量或方法都可以直接调用
- 第二个你说的那个你自己设置的maxAge()叫非静态方法,在其他静态方法内不能直接调用非静态的变量和方法,因为主函数是静态的,所以你要创建一个实例对象,才能调用非静态变量和方法.
- 学习这个建议你分模块,不要把主函数跟主类区别对待,主函数就是一个静态的方法,而主类也就是你这个public class HelloWorld其实是一个类而已.
|
|
|
|
|
静态方法可以直接类名.方法名调用;普通方法需要实例化对象后方可正常使用。 |
|
|
|
|
第一种叫静态方法,静态方法调用在本类中不需要实例化即可使用
第二种是普通方法,在本类中想要使用需要实例化才可以被调用 建议你看一下java入门基础 讲的很详细 |
|
|
|
|