静态常量思维导图

有时在处理问题时,会需要两个类在同一个内存区域共享一个数据。这时没有必要在两个类中同时创建同一个常量,因为这样系统会将这两个不在同一个类中定义的常量分配到不同的内存空间中。可以将这个常量设置为静态的。

被声明为static的变量、常量和方法被称为静态成员。静态成员是属于类所有的,区别于个别对象,可以在本类或其他类使用类名和“.”运算符调用静态成员。

语法格式:

类名.静态类成员

注意:

虽然静态成员也可以使用“对象.静态成员”的形式进行调用,但这样的形式通常不被鼓励使用,因为这样容易混淆静态成员和非静态成员。

静态数据与静态方法的作用通常是为了提供共享数据或方法,如数据计算公式等,以static声明并实现,这样当需要使用时,直接使用类名调用这些静态成员即可。尽管使用这种方式调用静态成员比较方便,但静态成员同样遵循着public、private、protected修饰符的约束。

在静态方法中不可以使用this关键字。

在静态方法中不可以直接调用费静态方法。

public class JingTai {public int a=0;//实例属性public static int b=0;  //静态属性 不属于任何一个项目,公用的public void add()//实例方法
    {a++;System.out.print("a="+a+"\t");b++;System.out.println("b="+b);//add1();//实例的可以直接调用静态的
    }public static void add1(){b++;//a++;add();//不能对非静态进行静态引用//静态里边调用实例方法:先实例化
//        JingTai t=new JingTai();
//        t.add();
        }

静态代码

package org.hanqi.pn0120;public class TestJingTai {public static void main(String[] args) {for(int i=0;i<10;i++){JingTai t1=new JingTai();t1.add();}JingTai t2=new JingTai();t2.add();JingTai.b+=1;System.out.println("JingTai.b="+JingTai.b);JingTai.add1();System.out.println("JingTai.b="+JingTai.b);DanLi d=DanLi.init();d.add();DanLi d1=DanLi.init();d1.add();DanLi d2=DanLi.init();d2.add();}

Text静态

单例模式

1.隐藏默认的构造方法

2.开放一个静态方法返回实例

3.在类的内部准备一个实例

4.判断类内部的实例是否已实例化  ①未实例化时进行一次实例②已实例化时直接返回这个实例

public class DanLi {//单例模式//只被实例化一次//获取系统的配置信息//1.隐藏默认构造方法private DanLi(){}//3.准备一个实例private static DanLi danli;//2.提供一个静态的方法返回类的实例public static DanLi init(){//实例化唯一的对象//DanLi d=new DanLi();//4.判断是否已被实例化if(danli==null){danli=new DanLi();}return danli;}private int a=0;public void add(){a++;System.out.println("a="+a);}}

单例模式

方法重载

方法重载思维导图

package org.hanqi.pn0120;public class JiSuanQi {//整型加法public int add(int a,int b){return a+b;}//重载  参数个数不同public double add(int c,int d,int e){return c+d+e;}//浮点型加法  方法的重载(多态的一种体现)//参数类型不同public double add(double a,double b){return a+b;}public static void main(String[] args) {JiSuanQi j=new JiSuanQi();System.out.println("20+50="+j.add(20, 50));System.out.println("20.12+50.45="+j.add(20.12, 50.45));}}

转载于:https://www.cnblogs.com/cycanfly/p/5252015.html

静态常量static和方法重载相关推荐

  1. JAVA面向对象OOP→构造方法、this、访问修饰符、static、方法重载、JVM内存分配、GC垃圾回收、包、样例代码

    构造方法 构造方法(constructor):与类名同名,没有返回值 其初始化作用:一为属性分配内存空间.二为属性赋值 构造方法不能自己调用,只能通过new实例化对象调用 隐式构造方法:对象实例化时编 ...

  2. 是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?

    不可以.静态方法只能访问静态成员. static方法是静态方法,是属于类的方法 非static方法是属于对象的方法,所以在static方法中想要调用非static方法,要先新创建一个对象,再有这个对象 ...

  3. Java 静态变量,静态方法,静态常量(java static 关键字)

    Java 静态变量,静态方法,静态常量  就是变量 ,方法,常量前面添加了static 关键字 为什么要使用静态的呢 有时候在处理问题时会需要两个类在同一个内存区域共享一个数据, 不如现在 Main ...

  4. java 接口中的成员只有静态常量和_Java中抽象类和接口的具体区别是什么?

    谢邀,直接回答. 接口在面向对象编程中占着很重要的地位,它是对于一种事物行为的抽象提取,内部只需要持有接口的引用,外部可以根据具体事物做不同的扩展,而不修改内部的引用逻辑,它的主要作用是在框架中实现不 ...

  5. java final 方法重载_java方法重载和覆写的定义,static和final修饰符的讲解,java面试题...

    方法重载的规则: 1.必须发生在同一个类的下面 2.必须保证方法名字相同 3.参数列表不同 参数的类型不同 参数的个数不同 参数的顺序不同 4.返回值:和返回值无关 5.修饰符:和修饰符无关 6.抛出 ...

  6. java基础2:this、static、final、abstract关键字、代码块、生成API工具包、继承、多态、方法重载和重写,抽象类、接口、常见异常、java权限修饰符、选择排序思想和程序和内部类

    1.this关键字 this表示当前类对象的地址空间值的引用.就是说,this代表了new出来的对象 其最大作用就是解决了构造器中局部变量隐藏成员变量.即用this.变量名 = 变量名 区分. 2.s ...

  7. Java:封装的概念,UML类图,构造方法,this关键字,static关键字,方法重载,包package

                     oop三大特性:封装,继承,多态 oop一般指面向对象程序设计(一种计算机编程架构) 一.封装的概念:    将东西包在一起,然后以新的完整形式呈现出来       ...

  8. JAVA SE、EE、ME,JRE、JDK,基本数据类型,访问修饰符、函数、封装的概念、UML类图、构造方法、this关键字、static关键字、方法重载、方法重写、包(packahe)

    运行第一个JAVA程序: 这里使用的开发环境是eclipse,新建一个java工程,然后可以看到src这个是存放java代码的地方,然后在src文件右击新建一个class(类),然后可以看到下图,同样 ...

  9. javaSE-day04--ArrayList基本用方法、类内定义方法和方法重载、静态方法static(类的方法)、工具方法(static)的定义和使用

    ArrayList基本用方法 package day04;import java.util.ArrayList;public class ArrayListDemo {public static vo ...

最新文章

  1. modelsim-win64-10.4-se 破解(win7实验成功)(其他操作系统也可参考,大同小异)
  2. matlab 和python读取csv文件速度_matlab读取csv文件数据并绘图
  3. muduo之TimerQueue
  4. Android解决button反复点击问题
  5. sed 正则表达式【MAC地址】GLPI转换华为交换机MAC格式
  6. 内联元素与块级元素及内外边距的影响
  7. 前端小白也能快速学会的博客园博客美化全攻略
  8. html如何自动调整边框大小,html – Chrome与大小调整:显示中的边框:表格
  9. linux打印JAVA日志命令_Linux下查看日志用到的常用命令
  10. qml tableview 滚动条加宽_qt qtableview 样式设置
  11. 计算机系统-电路设计04-全加器的内部电路实现
  12. 使用valgrind检查cache命中率
  13. 【NodeJs】NodeJs中base16转码
  14. Postman教程——发送第一个请求
  15. cad高程标注插件lisp_【源码】CAD高程转标高,CAD插件大全,小懒人CAD工具箱
  16. 华东理工《文献检索》MOOC (3)---精通web of science检索结果分析、JCR数据库检索
  17. Centos 8 常用指令汇总
  18. Abrash和TimSweeney两个文章
  19. 原电脑的LenovoS41-70的Anaconda配置信息
  20. Qt--Access数据库

热门文章

  1. sqlserver Split 开放写法有兴趣的学习一下
  2. shiro-cas------整合springboot客户端
  3. 如何进行用户行为分析并提高用户粘性
  4. 系统学习深度学习(三十四)--Dueling DQN
  5. 系统学习数字图像处理之形态学分析
  6. W Zong / A Robust Open-source Algorithm to Detect Onset and Duration of QRS Complexes
  7. 2014-VGG网络讲解
  8. 计算机械效率的公式怎么读,机械效率公式总结
  9. mysql explode函数_hive中,lateral view 与 explode函数
  10. 通过解析器向DNS服务器发出查询