java 接口 String

接口

接口 jdk1.8后进行了优化

1 以前不能写成员方法
优化后可以写成员方法
a(不能使用接口直接去调用 因为接口不能实例化对象 必须要使用接口类去调用)
b 默认方法可以在实现类中可以重写也可以不重写
c 如果想调用接口类的 默认方法 可以使用
接口名.super.默认方法

抽象类 和 接口 的区别
1 成员变量
抽象类:可以是常量 也可以是变量
接口:常量

2 成员方法
抽象类:有成员方法 有抽象方法
接口:只能有静态的成员方法 抽象方法 默认方法

3构造方法
抽象类:有
接口:没有

public class Demo1 {
public static void main(String[] args) {
    //调用接口中的静态成员方法
    InterA.staticFun();
    //调用接口中的默认成员方法
    //InterA a = new InterA();

    InterA a = new InterAImpl();
    a.defaultFun();这里写代码片
    //调用实现类的成员方法
    //向下转型
    //必须要有向上转型 才能有向下转型
    InterAImpl aImpl=(InterAImpl)a;
    aImpl.fun1();
    InterAImpl.staticFun();
    InterA.staticFun();

}


}
interface InterA{
    //抽象方法
    public abstract void fun();
    //静态成员方法
    public static void staticFun() {
        System.out.println("我是接口静态的成员方法");

    }
    //默认的成员方法
    public default void defaultFun() {
        System.out.println("我是接口中的默认的成员方法");
    }
}

class InterAImpl implements InterA{
    public void fun() {
        System.out.println("我是实现类的抽象方法的实现");

    }
    //重写接口类的默认方法
    public void defaultFun() {
        //重写的同时,想调到接口类的 默认方法

        InterA.super.defaultFun();
        System.out.println("我市实现类的default方法");
    }
    //实现类重新定义一个成员方法
    public void fun1() {
        InterA.super.defaultFun();
        System.out.println("我是实现类中的成员方法的fun1()");

    }
    public static void staticFun() {
        System.out.println("我是实现类的staticFun方法");
    }
}

字符串 —– 系统提供的一个类

学习的是字符串类型的方法 和用法 学习的是常用的方法

public class Demo01 extends Object {
    //测试字符串的位置
    public static void fun1() {
        //字符串 就相当于 字符数组

        String string = "qujinyao";
        int index = string.indexOf('q');
        System.out.println(index);
        if (index == 0 ) {
            System.out.println("傻逼");

        }
        //参数4是从哪一位开始查找
        int q = string .indexOf('a', 4);
        System.out.println(q);

        int  w = string.indexOf("inyao", 2);
        System.out.println(w);
        //按下标取出对应的字符
        char ch = string. charAt(5);
        System.out.println(ch);




        //判断 n 是否包含于 asasiasdusd
    }

    public static void fun2() {
        String string = "www.baidu.com";
        boolean rel1 = string.contains("baidu");
        System.out.println(rel1);
        //判断前缀
       boolean rel2 = string.startsWith("www");
       System.out.println(rel2);
       //判断后缀
       boolean rel3 = string.endsWith("com");
       System.out.println(rel3);
    }

    //替换
    public  static void fun3() {
        String string = "wangLong";
    //  String string2 = "wanghong";
    //  string.replace(string, string2);
        //这里要注意,别选错了方法
        //(old new)
        String string2 = string.replace("wangLong", "wangning");
        System.out.println(string2);

    }
    //切割
    // qinghua_girl_ningning
    public static void fun4() {
        String str = "wang,long,haha";
        String[] array = str.split(",");
        System.out.println(array.length);
        //增强for循环 forech
        //遍历是数组中的元素
        //:后 是要遍历的容器(数组)
        //:前 表示的是数组的元素
        for (String string : array) {
            System.out.println(string);
        }
    }
    //获取子字符串(出现率比较高)
    public static void fun5() {
        String string = "qujinyao2NB";

        // 留头不留尾
        String string2 = string.substring(2, 5);
        System.out.println(string2);
    }
    //转换大小写(出现率较高)
    public static void fun6() {
        String string = "qujinyao";

        String string2  = string.toUpperCase();
        System.out.println(string2);
        String string3 = "YAOJINNI";
        String string4 = string.toLowerCase();
        System.out.println(string4);
    }
    //判断两个字符创相等(忽略大小写)(常用)
    public static void fun7() {
        String string = "qujinyao";
        String string2 = "Qujinyao";
        System.out.println(string.equalsIgnoreCase(string2));
    }
    //去空格(前后空格)(常用)
    public static void fun8() {
        String string = "  abc def   ";
        String string2 = string.trim();
        System.out.println(string2);
    }
    //俩个字符串进行比较 比较的是字符的ASII 相等的返回的是0 不相同的
    public static void fun9(){
        String string = "abc";
        String string2 = "aBc";
        int num= string.compareTo(string2);
        System.out.println(num);
        System.out.println((int)'a');
    }
    // 把字符属猪 转换为字符串  把字符串转换为字符数组
    public static void fun10() {
        char[] array = new char[] {'w','l','o','g'};
        String string = new String(array);
        System.out.println(string);

        String string2 = "wlong";
        char[]  charArray = string2.toCharArray();
        //便利数组
        for(char c : charArray) {
            System.out.println(c);
        }

    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值