以下是本节课后的问题

首先是关于静态变量

在类中,使用 static 修饰符修饰的属性(成员变量)称为静态变量,也可以称为类变量,常量称为静态常量,方法称为静态方法或类方法,它们统称为静态成员,归整个类所有。

简单来说 就是java或者C++中所写的 static int A;

本次的重点在于static方法的研究上

首先

与成员变量类似,成员方法也可以分为以下两种:

  1. 静态方法(或称为类方法),指被 static 修饰的成员方法。
  2. 实例方法,指没有被 static 修饰的成员方法。

静态方法与实例方法的区别如下:

    • 静态方法不需要通过它所属的类的任何实例就可以被调用,因此在静态方法中不能使用 this 关键字,也不能直接访问所属类的实例变量和实例方法,但是可以直接访问所属类的静态变量和静态方法。另外,和 this 关键字一样,super 关键字也与类的特定实例相关,所以在静态方法中也不能使用 super 关键字。
    • 在实例方法中可以直接访问所属类的静态变量、静态方法、实例变量和实例方法。

举例来说

public class StaticMethod {
public static int count = 1; // 定义静态变量count
public int method1() {
// 实例方法method1
count++; // 访问静态变量count并赋值
System.out.println("在静态方法 method1()中的 count="+count); // 打印count
return count;
}
public static int method2() {
// 静态方法method2
count += count; // 访问静态变量count并赋值
System.out.println("在静态方法 method2()中的 count="+count); // 打印count
return count;
}
public static void PrintCount() {
// 静态方法PrintCount
count += 2;
System.out.println("在静态方法 PrintCount()中的 count="+count); // 打印count
}
public static void main(String[] args) {
StaticMethod sft = new StaticMethod();
// 通过实例对象调用实例方法
System.out.println("method1() 方法返回值 intro1="+sft.method1());
// 直接调用静态方法
System.out.println("method2() 方法返回值 intro1="+method2());
// 通过类名调用静态方法,打印 count
StaticMethod.PrintCount();
}
}
代码来自于网络
运行结果如下

对于同一个变量,在不同的函数(方法中)调用会得到不一样的结果

在java中,Static用于修饰类成员的变量和方法,我们一般写代码的时候开头

package A{}是包

下边通常是

public class A{}

这表明我们的方法和变量都是在类中写的,因为非静态方法不能直接使用类名去调用,所以去掉static关键字后使用类名调用方法就会报错

最新文章

  1. 【原】小玩node+express爬虫-1
  2. kibana 使用
  3. web测试方法总结
  4. CSS代码记录
  5. Java并发编程核心方法与框架-phaser的使用
  6. (十二) 一起学 Unix 环境高级编程 (APUE) 之 进程间通信(IPC)
  7. 转:最简单的基于 DirectShow 的视频播放器
  8. JavaScript基础16——js的BOM对象
  9. android 客户端 RSA加密 要注意的问题
  10. springboot 详细配置2
  11. 转:通过API获取和创建 Oracle GL Account Code Combination ID’s (CCID’s)的几种方法汇总
  12. 深入解析spring中用到的九种设计模式
  13. bellman_ford寻找平均权值最小的回路
  14. 做一个常规的banner图——负边距的使用、banner图的拼法
  15. Qt 动态加载DLL 常见错误有哪些?
  16. Office开发必备知识----为什么要释放非托管Com资源
  17. 股票配资源码系统APP股票配资系统PC版配资系统
  18. ImageView setImageURI图片不改变\NetWorkImageView 不显示的问题
  19. JComboBox实现当前所选项功能和JFrame窗口释放资源的dispose()方法
  20. [转]TFS常用的命令行详解

热门文章

  1. go-zero单体服务使用泛型简化注册Handler路由
  2. DP の 百题大过关(5/100)
  3. 快速体验Spring Boot了解使用、运行和打包 | SpringBoot 2.7.2学习系列
  4. PLC中增益和偏移
  5. 【常见】CSS3进度条Loading动画
  6. js--自定义对象
  7. java中String使用+
  8. 你必须学UML之理论篇
  9. 【面试题】Vue中的$router 和 $route的区别
  10. QtCreator使用AStyle配置VS默认编辑代码风格