/*
* static:他是一个关键字,用来修饰成员变量和成员方法
* static特点:
* 被所有的对象所共享
* 可以直接使用类名来调用
* 静态所修饰的成员加载优先于对象,随着类的加载而加载

注意事项:

静态方法:
可以调用静态的成员变量
可以调用静态的成员方法
只能在静态的方法中调用静态的成员

不可以调用非静态的成员变量
不可以调用非静态的成员方法

非静态方法:
可以调用静态的成员变量

*/

public class StaticDemo {
public static void main(String[] args) {
//Person.graduateFrom = "传智"; //static修饰的成员可以直接使用类名来调用。静态所修饰的成员加载优先于对象,随着类的加载而加载
Person p = new Person();
p.age = 18;
p.name = "xiaoming";
p.graduateFrom = "cz";
p.speak(); Person p1 = new Person();
p1.age = 20;
p1.name = "xiaohong";
// p1.graduateFrom = "cz"; //被所有的对象所共享
p1.speak();
}
} class Person {
String name;
int age;
// String graduateFrom;
static String graduateFrom;//static修饰的成员可以直接使用类名来调用。静态所修饰的成员加载优先于对象,随着类的加载而加载
public void speak() { System.out.println(name + "----" + graduateFrom); } }

  打印结果

public class StaticDemo2 {
public static void main(String[] args) {
Student.graduateFrom = "cz";
Student.study();//由于方法和参数都是静态的可以直接用类名调用
// Student.method();
Student s = new Student();
s.method();
s.eat(); }
} class Student {
String name;
int age;
static String graduateFrom; public static void study() {
System.out.println(graduateFrom);
//静态方法不能调用非静态的方法和变量
// System.out.println(name);
// method();
sleep(); } public static void sleep() {
System.out.println("sleep");
} public void eat() {
//非静态的方法可以调用静态的方法和变量
System.out.println(graduateFrom);
System.out.println(name);
     sleep();
} public void method() {
System.out.println("method");
}
}

打印结果

21 static 静态的使用及特点的更多相关文章

  1. static静态属性和静态方法的原理与调用技巧

    这篇文章主要介绍了php面向对象中static静态属性和静态方法的调用,实例分析了static静态属性和静态方法的原理与调用技巧,需要的朋友可以参考下     本文实例讲述了php中static静态属 ...

  2. jvm源码解读--08 创建oop对象,将static静态变量放置在oop的96 offset处

    之前分析的已经加载的.Class文件中都没有Static 静态变量,所以也就没这部分的解析,自己也是不懂hotspot 将静态变量放哪里去了,追踪源码之后,看清楚了整个套路,总体上来说,可以举例来说对 ...

  3. PHP static静态属性和静态方法

    这里分析了php面向对象中static静态属性和静态方法的调用.关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了.静态属性.方法(包括静态与非静态)在内 ...

  4. android 尽量不要使用static静态变量

    使用静态static静态变量潜在性问题: 1.占用内存,并且内存一般不会释放: 2.在系统不够内存情况下会自动回收静态内存,这样就会引起访问全局静态错误. 3.不能将activity作为static静 ...

  5. PHP之static静态变量详解(一)

    什么是static静态变量?(以下为在C语言中的理解) 静态变量 类型说明符是static. 静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在静态存储区内分配存储单元),该 区域中的数据在 ...

  6. Javase部分回顾(static (静态修饰符),修饰方法,单利的设计模式, 封装)

    static (静态修饰符)        1.修饰成员变量        静态变量的访问方式:            方式一 : 通过对象访问.                对象.变量名      ...

  7. php面向对象中static静态属性和静态方法的调用

    这篇文章主要介绍了php面向对象中static静态属性和静态方法的调用,实例分析了static静态属性和静态方法的原理与调用技巧,需要的朋友可以参考下 本文实例讲述了php中static静态属性和静态 ...

  8. FFmpeg for XP(x86) 2016-03-23 static 静态编译程序

    FFmpeg for XP(x86) 2016-03-23 static 静态编译适用于32位XP系统,能加的扩展都加了,结果文件大小非常大. 最新版加了不少视频和音频滤镜. ffmpeg.20160 ...

  9. Java中static静态关键字的使用

    我们可以基于一个类创建多个对象,每个对象都拥有自己的成员,所有成员变量的值是根据对象而存在的,有些时候我们希望一个类的所有对象共享一个成员,这就用到了static静态关键字 被静态关键字修饰的成员属于 ...

随机推荐

  1. google recaptcha-v2

    最近在给公司的网页把传统的输入字符数字的验证码改google reCAPTCHA验证,就写写我学到的和一些我的理解!说得不好请勿怪!有兴趣可以的去https://developers.google.c ...

  2. 基于.NetCore3.1搭建项目系列 —— 使用Swagger做Api文档 (上篇)

    前言 为什么在开发中,接口文档越来越成为前后端开发人员沟通的枢纽呢? 随着业务的发张,项目越来越多,而对于支撑整个项目架构体系而言,我们对系统业务的水平拆分,垂直分层,让业务系统更加清晰,从而产生一系 ...

  3. mysql索引查找原理及优化

    常见查找方法 1.顺序查找(linear search ) 1. 最基本的查询算法当然是顺序查找(linear search),也就是对比每个元素的方法,不过这种算法在数据量很大时效率是极低的. 2. ...

  4. tars之springboot的初步使用

    公司要求使用tars框架,现学习的,听老大讲的经验和看的一些技术博客,感觉和SpringCloud有些相似,不过内部有自己的规范,基于rpc实现的服务与服务之间的远程调用,而cloud的远程调用是基于 ...

  5. XSS构造剖析

    参考:邱永华<XSS跨站脚本攻击剖析与防御> 一 绕过XSS-filter 1.利用<>标记注射Html/JavaScript比如:<script>alert('X ...

  6. rbac权限(2)

    models.py from django.db import models class User(models.Model): name=models.CharField(max_length=32 ...

  7. Contest 154

    2019-09-16 17:22:28 总体感受:这次比赛的模版题也太多了吧,两条模版题没有想出来.总的来说,还是自己的刷题量还是严重的不够. 注意点: 1)提升刷题量和覆盖率非常重要: 2)在碰到大 ...

  8. python set() leetcode 签到820. 单词的压缩编码

    题目 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A. 例如,如果这个列表是 ["time", "me", "bell& ...

  9. vue2源码分析:patch函数

    目录 1.patch函数的脉络 2.类vnode的设计 3.createPatch函数中的辅助函数和patch函数 4.源码运行展示(DEMO) 一.patch函数的脉络 首先梳理一下patch函数的 ...

  10. 汉诺塔Java实现

    public class Hanoi { public static void main(String[] args ) { Hanoi hanoi = new Hanoi(); hanoi.hano ...