JAVA札记(一)

(日常积累之前没有get到的知识点)
一、JAVA基础
1. Java中的接口允许接口的多继承,类只能是单继承。
原因:java接口可以多继承。Interface3 Extends Interface0, Interface1, interface……不允许类多重继承的主要原因是,如果A同时继承B和C,而B和C同时有一个D方法,A如何决定该继承那一个呢?
但接口不存在这样的问题,接口全都是抽象方法继承谁都无所谓,所以接口可以继承多个接口。
注意:
1)一个类如果实现了一个接口,则要实现该接口的所有方法。
2)方法的名字、返回类型、参数必须与接口中完全一致。如果方法的返回类型不是void,则方法体必须至少有一条return语句。
3)因为接口的方法默认是public类型的,所以在实现的时候一定要用public来修饰(否则默认为protected类型,缩小了方法的使用范围)。

2. Java中回车符“\r”,换行符“\n”

3.Java写一个Singleton(单例模式)
Singleton模式主要作用是保证Java应用程序中,一个类Class只有一个实例存在。一般Singleton模式通常有几种形式。
第一种(懒汉模式):定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在内初始化时实例化,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。

public class Singleton {
    //在自己内部定义自己一个实例
    //注意这是private,只供内部调用
    private static Singleton instance = new Singleton();
    //这里提供了一个供外部访问本class的静态方法,可以直接访问
    public static Singleton getInstance(){
        return instance;
    }
}

第二种形式(饥汉模式):

public class Singleton {
    private static Singleton instance = null;
    public static synchronized Singleton getInstance(){
        //这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
        //使用时生成实例,提高了效率
        if(instance == null){
            instance = new Singleton();
            return instance;
        }
    }
}

其他形式:
定义一个类,它的构造函数为private的,所有方法为static的,一般认为第一种形式更加安全些。


4. JAVA String数组的合并

      //String[] cs = new String[6];
      //String[] cs = new String[]{"1","2"};
      String[] cs1 = new String[]{"1","2"};
      String[] cs2 = new String[]{"3","4"};

      int le1 = cs1.length;
      int le2 = cs2.length;
      cs1  = Arrays.copyOf(cs1,le1+le2);// 数组扩容
      System.arraycopy(cs2, 0, cs1, le1, le2);// 将第二个数组与第一个数组合并
      System.out.println(Arrays.toString(cs1));// 输出数组

      int leng = cs1.length + 1;
      cs1  = Arrays.copyOf(cs1, leng );
      cs1[leng-1] = "5";
      System.out.println("抄送人:" + Arrays.toString(cs1));// 输出数组
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值