什么时候使用静态

原创 2015年07月09日 16:02:15

什么时候使用静态?

要从两方面下手:

因为静态修饰的内容要有成员变量和函数。

 

什么时候定义静态变量(类变量)呢?

当对象中出现共享数据时,该数据被静态所修饰。

对象中的特有数据要定义成非静态存在于堆内存中。

 

什么时候定义静态函数呢?

当功能内部没有访问到非静态数据(对象特有数据),那么该功能就可以定义成静态的;

例如:

class Person
{
	String name ;
	public void show()
	{
		System.out.println("haha");
	}
}
class PersonDemo6
{
	public static void main(String[] args)
	{
		Person p=new Person();
		p.show();
	}
}

这个代码是没错的,但类中的show功能并没有调用对象的特有属性,所以建立对象没意义;

所以此时可以用静态函数

class Person
{
	String name ;
	public static void show()
	{
		System.out.println("haha");
	}
}
class PersonDemo6
{
	public static void main(String[] args)
	{
		Person.show();
	}
}


 

 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

什么时候使用类方法呢?(静态方法何时使用)

静态方法何时使用 如果某些操作不依赖具体实例,那它就是静态的,反之如果某些操作是依赖具体实例的(例如访问一个特定会员的名称),那它就应该是实例化的。静态方法不用new对象可以直接调用 1....
  • u012442317
  • u012442317
  • 2014年06月06日 22:18
  • 2346

【C#】什么时候使用单例什么时候使用静态类?

观点一:(单例) 单例模式比静态方法有很多优势: 首先,单例可以继承类,实现接口,而静态类不能(可以集成类,但不能集成实例成员); 其次,单例可以被延迟初始化,静态类一般在第一次加载是初始化; 再次,...
  • sinat_20559947
  • sinat_20559947
  • 2015年09月23日 18:35
  • 2503

java类中的静态变量是什么时候初始化的

我们知道一个类(class)要被使用必须经过装载,连接,初始化这样的过程。下面先对这三阶段做一个简单的描述,之后会结合一个简单的例子来说明java中类的初始化过程。 在装载阶段,类装载器(Boo...
  • u010585120
  • u010585120
  • 2016年11月09日 10:24
  • 3449

朝花夕拾——Java静态内部类加载

之前写《Java的synthetic修饰词》一文的过程中,提到了以下观点: 静态内部类不持有外部类的引用 这个观点是众所周知的。虽然明白是因为其构造函数内没有传入外部类的引用。可是为什么静态类可以...
  • u011435746
  • u011435746
  • 2015年12月18日 12:09
  • 3410

什么时候使用静态static?

Demo1.java /* 什么时候使用静态? 静态修饰的内容有成员变量和函数。 什么时候定义静态变量(类变量)呢? 当对象中出现共享数据时,该数据被静态所修饰。例如张三李四都是姓名,姓名是属性,数...
  • qq_34533909
  • qq_34533909
  • 2017年02月22日 22:28
  • 155

Java 静态内部类 与 非静态内部类的区别?什么时候用静态内部类,又是什么时候用非静态内部类?

Java中内部类加载时间:一般是只有运到了才会初始化,而不是外部内加载的时候(不管是静态还是非静态内部类)。 注意到一个问题: 内部类只有是静态的,其内部类中才能有静态属性和静态方法; 如果内部类...
  • wolf_fang
  • wolf_fang
  • 2016年09月25日 16:11
  • 2048

Java中静态(static)成员何时才会初始化

先谈static static方法就是没有this的方法。在static方法的内部不能调用非静态方法,反过来倒是可以的,而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这...
  • qJay_Dev
  • qJay_Dev
  • 2016年04月24日 01:00
  • 7727

常见Java面试题2

问题:什么是Java虚拟机?   答案:Java虚拟机是能移植到不同硬件平台上的软件系统。   问题:类型向下转换是什么?   答案:向下转换是指由一个通用类型转换成一个具体的类型,...
  • u012605629
  • u012605629
  • 2015年03月11日 21:24
  • 520

java的static块执行时机

一、误区:简单认为JAVA静态代码块在类被加载时就会自动执行。证错如下:   class MyClass1 { static {//静态块 System.out.printl...
  • berber78
  • berber78
  • 2015年06月12日 16:09
  • 11047

静态类和 关于什么时候使用“静态方法”

我们知道,一个类的方法从调用方式上可以分为“静态方法”与“非静态方法”(实例方法)。在.net框架中,也有很多这种公共静态方法。现在我想讨论一下,一个类为什么要提供静态方法以及在什么时候应该提供静态方...
  • qiurfstudent
  • qiurfstudent
  • 2018年01月16日 18:17
  • 4
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:什么时候使用静态
举报原因:
原因补充:

(最多只允许输入30个字)