修饰main方法的关键字?
static修饰符: static关键字的中文意思是静态的,该修饰符可以修饰成员变量,成员常量和成员方法。使用该关键字修饰的内容,在面向对象中static修饰的内容是隶属于类,而不是直接隶属于对象的,所以static修饰的成员变量一般称作类变量,而static修饰的方法一般称作类方法。 示例代码如下: //文件名Box.java public class Box{ int length; int width; int height; public Box(int l,int w,int h){ length = l; width = w; height = h; } } //文件名TestBox.java public class TestBox{ public static void main(String[] args){ Box a = new Box(10,20,30); Box b = new Box(40,20,10); } }
请问java中类名.方法名().方法名()是什么意思?
可以通过类名+方法名调用的方法叫做静态方法,属于类级别方法.类方法可在不实例化对象的前提下调用.一般类的静态方法和静态变量都是通过static关键字修饰的.而且静态方法体里不能应用任何实例变量和实例方法,至于你那段程序,调用那个方法和new一个对象效果是一样的.不过只是把实例的创建封装在方法里,通过类名加方法来调用而已,让实例化代码简洁点外,无任何差别.不过,有些时候,有些类的设计,出于某种需要,不希望类的构造方法是public的,也就是用户无法直接new出来的,通常就会通过这么一个静态方法来调用获取实例.而且这些方法体里除了直接return一个实例之外,可能还会做某些处理,这在java里许多类都有这种设计.如,j2me中的Image类.
static修饰的一定是引用传递嘛?
在java中只能用static注释类的属性(字段)或方法,使属性成为静态属性、方法成为静态方法,不能修饰方法的形参。 但如果调用方法时,传递的实参刚好是类的静态属性,那就可以说可以用static修饰方法的实参。 总之,static不能修饰局部变量,不论这个局部变量是实参还是形参,只能修饰类的属性。
Java里面,创建对象放在main方法外面为什么要用static修饰?
作为一名从业多年的程序员,同时也出版过Java编程书籍,我来回答一下这个问题。
首先,在main方法外部创建对象是不需要添加static修饰符的,看一个具体的实例:
但是,如果在main方法当中要想使用这个对象,那么这个对象就需要使用static修饰符进行修饰了,否则会提示错误,看一下具体的实例:
原因是static修饰的main方法是随着类的加载而加载,要想保证main方法能够有效使用外部的对象,则这个外部的对象要与main方法保持同步的加载。
static在Java语言当中是一个比较特殊的存在,普通的应用级开发,比如Web开发很少会用到static修饰符,在某些场景下甚至会严格限制static的应用,因为会涉及到同步问题。而在研发级开发领域,static却是比较重要的存在,尤其是在资源管理方面,合理的使用static能够明显提升系统的运行效率。
static在Java语言中的基本应用有三种情况,其一是修饰属性,也称为“类属性”,特点是随着类的加载而加载,同时能够在对象间共享(同一个类);其二是修饰方法,也称为“类方法”或者“静态方法”,特点是可以直接通过类的名字进行访问;其三是修饰程序块,特点是随着类的加载而加载,但是只加载一次,是一种介于方法和构造器之间的一种应用。
另外,内部类一旦使用static修饰之后,会升级为“顶级类”,可以直接在外部创建其对象,内部类中也可以定义static属性和static方法,这也是比较重要的一个特点。看一个例子:
除了以上应用之外,在进行程序调试的时候,Java程序员为了“方便”也经常使用static修饰符,但是在调试结束之后,通常要把static修饰符去掉。
最后,static修饰符是一柄双刃剑,用得好能够明显提升程序的执行效率,用得不好不仅会加大系统的整体资源消耗,同时也会带来并发问题和稳定问题,所以static应该慎用。当不确定是否应该使用static的时候,默认的选择应该是不用。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言!

