记录我的java之路——day6(周更)

day6-面向对象进阶

  • 方法重载

  • 初始化块

  • 封装类型

  • String类详解

多态的实现策略之一--------方法重载(Overload)

方法的重载(overload)是多态的一种实现策略,方法的重载表现为在一个类中包含多个同名的方法,但是每个方法必须保证方法中的参数列表(类型,个数,顺序)任意一项不一致,方法重载与返回值无关。

public class PrintDemo {
    
    public void write(int i){
        System.out.println(i);
    }
    
    public void write(float f){
        System.out.println(f);
    }
    
    public void write(String s){
        System.out.println(s);
    }
    
    public static void main(String[] args){
        PrintDemo pd = new PrintDemo();
        pd.write(100);
        pd.write(3.14F);
        pd.write("helloworld");
    }    
}

方法重写(Override)和重载(Overload)区别:

  1. 方法重写发生在存在继承关系的子类中,由子类重写父类的方法;方法的重载一般发生在同一个类中

  2. 方法重写必须保证方法的返回值类型与父类一致;方法的重载与返回值无关

  3. 方法重写时必须保证方法中的参数列表与父类一致;方法重载必须保证每个方法的参数列表不一致

  4. 共同点:不论方法重写还是重载,都必须保证方法名一致

游离块(初始化块)

在一个java类中如果存在多个构造器,每个构造器中都有重复代码时,可以将重复的初始代码归纳到一个游离块中,统一执行,从而解决构造器中代码重复的问题,游离块一般在构造器执行之前先执行,在构造对象时隐式调用,本质上就是一个方法的执行体

public class Config {
    
    public Config(){
        System.out.println("默认构造器的操作");
    }
    
    public Config(String key,String value){
        System.out.println("设置单个键值对");
    }
    
    public Config(Properties props){
        System.out.println("设置一组信息");
    }
    
    //初始化块(游离块)
    {
        System.out.println("初始化。。。");
    }
    
    public static void main(String[] args) {
        new Config("version","1.8");
    }
}
​

基本数据类型封装类

在java中每一个基本数据类型都有一个与之对应的引用类型,基本类型数据一般用于算数运算,布尔逻辑,关系等运算,但是无法进行对象操作(方法调用,属性调用);但是,通过封装类型可以实现基本类型的对象操作,比如进行字符串与基本类型数据之间的转换,进制转换。

byte(Byte)

short(Short)

int(Integer)

long(Long)

float(Float)

double(Double)

char(Character)

boolean(Boolean)

  • 自动装箱(将一个基本类型的数据自动打包成封装类型)

  • 自动拆箱(将一个引用类型的对象解析为一个基本类型数据)

//自动装箱
Integer i = 10; 
​
//自动拆箱
int j = i;

对基本类型数据的封装类型使用常见于字符串与该基本类型数据之间的转换

//将字符串转换为int类型
int i = Integer.parseInt("123");
int i2 = new Integer("123");
​
//将基本类型的数据转换为字符串类型
Integer j = i;
String s = j.toString();
String s2 = 123 + "";

String类

String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。

String类常用构造器

  • String()

  • String(String content)

  • String(char[] c)

  • String(char[] c,int offset,int len)

  • String(byte[] b)

  • String(byte[] b,offset,int len)

String类常用方法

  • char charAt(int index) :获取指定索引处的字符值

  • int compareTo(String str):按字典比较两个字符串的顺序,返回两个字符串间隔的字符数

  • String concat(String str):字符串连接,返回新的字符串

  • boolean contains(String str):判断当前字符串是否包含指定的子串

  • boolean endsWith(String suffix):判断字符串是否以指定的后缀结束

  • boolean equals(String str):判断两个字符串字面值是否一致

  • boolean equalsIgnoreCase(String str):忽略大小写比较两个字符串是否相等

  • byte[] getBytes():将字符串转换为字节数组

  • int indexOf(String str):获取指定字符串在当前字符串中第一次出现的位置

  • boolean isEmpty():判断字符串对象是否为空(非null),当且仅当length()为0时输出true

  • int length():获取字符串中字符的个数

  • boolean matches(String regex):判断字符串是否匹配指定的正则表达式

  • String replace(CharSequence oldValue,CharSequence newValue):字符串替换,后者替换前者

  • String[] split(String regex)根据指定的正则表达式将字符串截取并生成新的字符串数组

  • String substring(int beginIndex,int endIndex):字符串截取

  • String toUpperCase(String str)/String toLowerCase(String str):大小写转换

  • String trim():去除字符串前置与后置空格

  • static String join(String delimiter,CharSequence... c):使用指定分隔符对将多个字符序列拼接并返回

猜你喜欢

转载自blog.csdn.net/qq_34304871/article/details/81159604
今日推荐