学习笔记,仅供参考


文章目录

  • 面向对象
    • static关键字
      • 静态关键字的特点
      • 注意事项

面向对象

static关键字

  • 先看一个例子
class Bunny0601A {public static void main(String[] args) {Bunny b1 = new Bunny();b1.name = "Huang";b1.age = 10;Bunny b2 = new Bunny();b2.name = "Bai";b1.speak();b2.speak();}
}class Bunny {String name;static int age;public void speak() {System.out.println(name + "已经" + age + "个月啦!");}
}

输出:

Huang已经10个月啦!
Bai已经10个月啦!

静态关键字的特点

  • 静态关键字的特点

    • 随着类的加载而加载;
    • 优先于对象存在;
    • 被类的所有对象共享。所以如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的,共性用静态,特性用非静态;
    • 静态可以通过类名调用
  • 举个例子
class Bunny0601A {public static void main(String[] args) {Bunny.age = 9;System.out.println(Bunny.age);}
}class Bunny {String name;static int age;public void speak() {System.out.println(name + "已经" + age + "个月啦!");}
}

输出:

9

注意事项

  • 注意事项

    • 静态是随着类的加载而加载,静态比对象先存在,this是随着对象的创建而存在,非静态的成员只能通过对象(this)来访问,而不能通过类名直接访问。

    • 静态方法只能访问静态的成员变量和静态的成员方法,而非静态的方法可以访问静态的也可以访问非静态的。

  • 举个例子

我们分别利用静态和非静态方法访问静态和非静态成员。

非静态方法:

class Bunny0601A {public static void main(String[] args) {Bunny b = new Bunny();b.print1();}
}class Bunny {String name;static int age;public void print1() {         //非静态的成员方法,既可以访问静态的成员也可以访问非静态的成员System.out.println(name);System.out.println(age);}
}

输出:

null
0

静态方法:

class Bunny0601A {public static void main(String[] args) {Bunny.print2();}
}class Bunny {String name;static int age;public static void print2() {   //静态的成员方法System.out.println(name);  //静态的成员方法不能访问非静态的成员System.out.println(age);}
}

报错:

---------- javac ----------
Bunny0601A.java:18: 错误: 无法从静态上下文中引用非静态 变量 nameSystem.out.println(name);  //静态的成员方法不能访问非静态的成员^
1 个错误Output completed (2 sec consumed) - Normal Termination

将静态方法中非静态变量删掉:

class Bunny0601A {public static void main(String[] args) {Bunny.print2();}
}class Bunny {String name;static int age;public static void print2() {   //静态的成员方法System.out.println(age);}
}

输出:

0

第三次学JAVA再学不好就吃翔(part26)--static关键字相关推荐

  1. 第三次学JAVA再学不好就吃翔(part106)--字符流

    学习笔记,仅供参考,有错必纠 文章目录 IO流 字符流输入流FileReader 字符流是什么 FileReader类构造方法 举个例子 字符流输出流FileWriter FileWriter构造方法 ...

  2. 第三次学JAVA再学不好就吃翔(part46)--Scanner类

    学习笔记,仅供参考 文章目录 Scanner类 Scanner获取数据出现的问题 Scanner类 概述 Scanner是在java.util包下的一个类,使用该类时我们需要导包.这个类被final修 ...

  3. 第三次学JAVA再学不好就吃翔(part117)--单例设计模式

    学习笔记,仅供参考,有错必纠 文章目录 多线程 单例设计模式 饿汉式 懒汉式 第三种格式 Timer类 线程的五种状态 多线程 单例设计模式 单例设计模式,即保证类在内存中只有一个对象,如何保证类在内 ...

  4. 第三次学JAVA再学不好就吃翔(part109)--LineNumberReader类

    学习笔记,仅供参考,有错必纠 IO流 LineNumberReader类 该类继承自java.io.BufferedReader,该类可以跟踪行号的缓冲字符输入流.此类定义了方法 setLineNum ...

  5. 第三次学JAVA再学不好就吃翔(part108)--带缓冲的字符流

    学习笔记,仅供参考,有错必纠 文章目录 IO流 带缓冲的字符流 BufferedReader和BufferedWriter readLine和newLine方法 IO流 带缓冲的字符流 Buffere ...

  6. 第三次学JAVA再学不好就吃翔(part107)--字符流的拷贝

    学习笔记,仅供参考,有错必纠 文章目录 IO流 字符流的拷贝 拷贝纯文本文件 注意事项 自定义字符数组的拷贝 IO流 字符流的拷贝 拷贝纯文本文件 zzz.txt: 安徽财经大学 JAVA代码: pa ...

  7. 第三次学JAVA再学不好就吃翔(part104)--flush和close

    学习笔记,仅供参考,有错必纠 flush和close flush方法 对于写出数据来说,当缓冲区满了之后,缓冲区中的数据会自动写出,但是当缓冲区没有满时,调用flush方法,那么缓冲区就会被刷新,数据 ...

  8. 第三次学JAVA再学不好就吃翔(part99)--File类

    学习笔记,仅供参考,有错必究 文章目录 File类 构造方法 举个例子 File类创建功能 举个例子 File类的重命名及删除功能 举个例子 注意事项 File类的判断功能 File类的获取功能 举个 ...

  9. 第三次学JAVA再学不好就吃翔(part92)--Map集合的遍历

    学习笔记,仅供参考,有错必纠 Map集合的遍历 方法1(利用键找值) 由于Map集合中没有iterator方法,所以如果我们想要遍历Map,则需要先提取出键,拿到Set集合,再利用Set集合的iter ...

最新文章

  1. linux安装metasploit,centos如何安装metasploit
  2. 【干货】如何确定需求优先级,如何确定功能优先级
  3. 【推荐】SAP关闭正在执行的缓慢的程序
  4. app网站换服务器,app切换服务器
  5. 利用SQLChiper对Android SQLite数据库加密
  6. Cocos2dx-如何利用NDK分析崩溃日志
  7. 13.transform确保目标空间足够大
  8. 深度学习之自编码器(4)变分自编码器
  9. python3语音识别模块_零基础教你玩转语音控制,学习语音控制技术,打造智能生活很简单...
  10. Oracle相关练习
  11. Linux定时向目标服务器传输文件
  12. gflags的使用实例(转载)
  13. 5. Zend_Log
  14. 概率论与数理统计期末考试题及答案
  15. 想知道微信怎么做指纹支付开发?看这里!
  16. 5号AA电池,7号AAA电池
  17. 中转网关 (Transit Gateway) Connect连接类型集成FortiGate安全服务
  18. 汉罗塔小游戏(自创)
  19. 《东周列国志》第一回 周宣王闻谣轻杀 杜大夫化厉鸣冤
  20. SMPL模型及源码解读

热门文章

  1. 02繁花嗅Django笔记
  2. tomcat jar包_tomcat学习|tomcat中的类加载器
  3. 小程序引用icon图标(入门)
  4. python post 远程主机强迫关闭了一个现有的连接_ConnectionResetError:[WinError10054远程主机强迫关闭一个现有连接...
  5. 爬取json Swaggerui界面
  6. ant-design-pro使用服务器数据接口代理配置
  7. VMware NAT模式
  8. nginx proxy cache配置参数解读
  9. 一起学shell之(九-2)拼写检查、进程
  10. 挑选SaaS企业需要注意十要素