黑马程序员——JAVA的静态static知识点的总结
来源:互联网 发布:软件行业猎头机构 编辑:程序博客网 时间:2024/04/29 20:44
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!
------- 静态:static。
(一)用法:是一个修饰符,用于修饰成员(成员变量,成员函数). 当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外, 还可以直接被类名调用。类名.静态成员。
class Person
{
String name;//成员变量,实例变量。
static String country = "CN";//静态的成员变量,类变量。
public static void show()
{
System.out.println("name"+name+"::::"+country);
}
}
class StaticDemo
{
public static void main(String[] args)
{
Person p = new Person();
//p.name = "zhangsan";
//p.show();
//System.out.println(p.country);
//System.out.println(Person.country);
Person.show();
}
}
当成员用了静态以后,就不需要创建对象,可以直接用类名调用,这样写有利于优化代码。
(二)static特点: 1,随着类的加载而加载。 也就说:静态会随着类的消失而消失。说明它的生命周期最长。 2,优先于的对象存在 明确一点:静态是先存在。对象是后存在的。 3,被所有对象所共享 4,可以直接被类名所调用。
(三)实例变量和类变量的区别: 1,存放位置。 类变量随着类的加载而存在于方法区中。 实例变量随着对象的建立而存在于堆内存中。 2,生命周期: 类变量生命周期最长,随着类的消失而消失。 实例变量生命周期随着对象的消失而消失。
(四)静态使用注意事项: 1,静态方法只能访问静态成员。 非静态方法既可以访问静态也可以访问非静态。
2,静态方法中不可以定义this,super关键字。 因为静态优先于对象存在。所以静态方法中不可以出现this。 3,主函数是静态的。
class Person
{
String name;//成员变量,实例变量。
static String country = "CN";//静态的成员变量,类变量。
public static void show()
{
System.out.println("name"+name+"::::"+country);
}
}
这样就不可以,因为name是对象中的成员,静态优先于对象,没有创建对象,就不能访问对象中的特有数据。
(五)什么时候使用静态? 要从两方面下手: 因为静态修饰的内容有成员变量和函数。 什么时候定义静态变量(类变量)呢? 当对象中出现共享数据时,该数据被静态所修饰。 对象中的特有数据要定义成非静态存在于堆内存中。 什么时候定义静态函数呢? 当功能内部没有访问到肺静态数据(对象的特有数据), 那么该功能可以定义成静态的。
下面代码就是使用静态一个简单应用;
class Person
{
String name;
static String country = "cn";
public static void show()
{
System.out.println(contry+"haha");
}
}
class
{
public static void main(String[] args)
{
Person p = new Person();
p.show();
//Person .show();
}
}
0 0
- 黑马程序员——JAVA的静态static知识点的总结
- 黑马程序员——静态的总结
- 黑马程序员——static静态的使用
- 黑马程序员—static关键字—知识点总结
- 黑马程序员——JAVA笔记——静态static
- 黑马程序员----------static以及静态的应用
- 黑马程序员——【Java】静态(static)
- 黑马程序员—C重点--总结一些琐碎的知识点
- 黑马程序员——静态static
- 黑马程序员——static(静态)
- 黑马程序员 知识点总结-Java中几种常见的排序算法
- 黑马程序员 知识点总结-Java帮助文档的生成
- 黑马程序员——java中static关键字的应用
- 黑马程序员——Java(static的用法)
- 黑马程序员——Java面向对象的一些知识点
- 黑马程序员-static关键字的小总结
- 黑马程序员-一些知识点的总结
- 黑马程序员——C语言知识点总结之指针和关键字static、extern
- 苹果再推7寸超级iPhone7,iPad何去何从?
- 简单死vlsnkvlsdv
- 大法宝大道南国
- 三星被逼疯,推Tizen版S6,咬牙打造软生态
- 物联网时代,苹果被淘汰的可能性99%
- 黑马程序员——JAVA的静态static知识点的总结
- 把行末尾的换行符变成空格
- 阅读程序写出运行结果3
- 额see围绕热我忍我忍
- 比简单更简单: VM Depot “轻松部署”功能预览版上线
- 从 VM Depot “轻松部署”至 Azure
- 阅读程序写出运行结果4
- 负数在计算机中的表示
- 佛挡杀佛双方的首发东方舵手