传智播客——毕向东25--第6天总结-5

1.static 关键字:
用法:是一个修饰符,用于修饰成员函数、成员变量
调用方法:1.对象.成员变量/函数
   2.直接用类名调用。 类名.静态成员
static特点:1.随着类的加载而加载
     2.优先于对象的存在:静态现存在,对象后存在
     3.被所有对象所共享
     4.可以被类名调用
static注意:1.静态方法只能访问静态成员
     2.静态方法不能使用this、super关键字,因为静态优先于对象的存在;
     3.主函数是静态的

2.主函数:public static void main(String[] args)
 public:代表该函数访问权限最大
 static:代表主函数随着类的加载而加载
(String[] args):字符串类型数组

3.静态工具类
 每一个工具都有共同的功能特性,可以封装在同一个类中,并将其中的功能定义为static
class Tool
{
 public static void Max(...)
 {
  ...
 }
 public static void Min(...)
 {
  ...
 }
}
class ToolDemo
{
     Tool.Max();
     Tool.Min();
}
当类中的方法全为静态时,可以将该类进行构造函数私有化:即将Tool类中的构造函数:private Tool(){ };
因为该类中的方法全为静态,且无特有数据,该类就没有必要去创建对象了,但是仍可以被外部创建对象,为了强制不让去创建对象,可通过

构造函数私有化的方式

4.帮助文档制作 java.doc
文档注释:
@author 作者
@version 版本
@param  参数
@return 返回值
javadoc只提取public修饰的
默认构造函数的权限是随着类的变化而变化
javadoc必须是被修饰的
javadoc -d     myhelp   -author ArrayTool.java
         目录  当前目录
5.静态代码块:
class static Code
{
 static
 {
  System.out.println("HELLO");
 }
}
特点:随着类的加载而加载,只执行一次,并优先于主函数。
静态代码块》构造代码块》构造函数

6.对象的初始化过程:
Person p=new Person("ZhangSan",20)

1.new Person():开辟空间,并给特有属性赋默认值;
2.静态代码块执行
3.构造代码块执行
4.构造函数执行

7.单例设计模式:
 设计模式:解决某一类问题行之有效的方法
 单例模式:解决一个类在内存只有一个对象
class Single
{
  private int num;
  public void setNum(int num)
  {
         this.num=num;
  }
 public int getNum()
  {
        return num;
  }
 private Single(){ };
 private static Single s=new Single();
 public static Single getInstance()
 {
          return s;
 }
}
class SingleDemo
{
    public staic void main(String[] args)
    {
             Single s1=Single.getInstance();
             Single s2=Single.gesInstance();
             s1.setNum(11);
              System.out.println(s2.getNum(22));
   }
}

饿汉式:先初始化对象
 Single类一进内存,对象就被创建
 class Single
 {
        private static Single s=new Single();
        private Single(){ };
        public static Single getInstance()
        {
               return s;
        }
 }
懒汉式:对象是方法被调用时,才初始化
    Single类进内存,对象还没有存在,只有调用了getInstance() 方法时才创建对象
   class Single
   {
          private static Single s=null;
          private Single(){ };
          public static Single getInstance()
          {
             //        if(s==null)
 第一种 //        {
             //                s==new Single();
             //        }
             //         return s;
           }  
    }

 

               //  if(s==null)
               //  {
               //       synchronized(Single class)
 第二种   //        {
 (加锁)//             if(s==null)
               //                       s=new Single();
               //        }
               //    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值