zoukankan      html  css  js  c++  java
  • 静态常量static和方法重载

    静态常量思维导图

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

    被声明为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+"	");
            
            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));
    
        }
    
    }

  • 相关阅读:
    个人永久性免费-Excel催化剂功能第31波-数量金额分组凑数功能,财务表哥表姐最爱
    个人永久性免费-Excel催化剂功能第30波-工作表快捷操作(批量创建、命名、排序、工作表目录)
    个人永久性免费-Excel催化剂功能第29波-追加中国特色的中文相关自定义函数
    发现用System.Net.Mail发邮件(代码附后),附件稍微大一点就会造成程序假死. 有没有什么简单的解决办法呢? 多谢!!
    上传文件 获取文件名 --360浏览器
    js中的json对象和字符串之间的转化
    chosen.jquery.js
    select 后台获取text 并根据text 设置value选中项
    iframe中有ajax,设置iframe自适应高度
    charme浏览器 jquery1.9.1min.js 报脚本错误 无jquery.min.map 文件
  • 原文地址:https://www.cnblogs.com/cycanfly/p/5252015.html
Copyright © 2011-2022 走看看