当前位置: 首页> 游戏> 攻略 > 北京网站优化解决方案_做的比较好的网站有哪些_网站推广排名收费_百度联盟官网

北京网站优化解决方案_做的比较好的网站有哪些_网站推广排名收费_百度联盟官网

时间:2025/7/10 11:53:29来源:https://blog.csdn.net/2302_81083129/article/details/144449938 浏览次数:0次
北京网站优化解决方案_做的比较好的网站有哪些_网站推广排名收费_百度联盟官网

一、重写与重载

        1.重写:发生在子类与父类之间,子类对父类中允许访问的方法进行重新实现。方法名、参数列表和返回值类型都必须与父类中的方法完全一致,访问修饰符不能比父类中的高。

public class Animal {public void eat() {System.out.println("Animal eat");}
}public class Dog extends Animal {@Overridepublic void makeSound() {System.out.println("Dog eat");}
}

        2.重载::发生在同一个类中,方法名相同,但参数列表不同(参数个数、参数类型或参数顺序不同),与返回值类型无关。

public class MathUtils {public int add(int a, int b) {return a + b;}public double add(double a, double b) {return a + b;}
}

二、Java三大特征

        1.封装:封装就像是把数据和操作数据的方法包装在一个类里面,并且对数据进行访问控制。在 Java 中,通过使用访问修饰符(private、protected、public)来实现封装。其中,private 修饰的成员变量(属性)和方法只能在类内部访问,这样就隐藏了类的内部实现细节,外部类无法直接访问这些私有成员。

        作用:提高了代码的安全性和可维护性

        2.继承:是一种类与类之间的关系,允许创建一个新类(子类)从现有的类(父类)派生。子类继承父类的非私有成员(属性和方法),并且可以添加自己的新成员或者重写父类的方法来改变其行为。

// 父类
class Animal {public void eat() {System.out.println("动物在吃");}
}//子类
class Dog extends Animal {public void bark() {System.out.println("狗在叫");}
}public class test {public static void main(String[] args) {Dog dog = new Dog();dog.eat();dog.bark();}
}

        3.多态:指在父类中定义的属性和方法被子类继承后,可以具有不同的表现形式,即不同的子类可以对同一个方法进行不同的实现。

        前提:要有继承或者实现关系、要有方法的重写、要有父类引用指向子类。

三、抽象与接口的区别

        1.抽象类:使用abstract关键字修饰的类,不能被实例化,通常包含抽象方法和具体方法。抽象方法只有方法签名,没有方法体,需要子类去实现。一个类只能继承一个抽象类,通过extends关键字实现继承。

        2.接口:使用interface关键字定义,接口中的方法默认都是public abstract的,接口中的变量默认都是public static final的,接口不能包含实例变量和具体方法,只能包含抽象方法和常量。 一个类可以实现多个接口,通过implements关键字实现。

四、深拷贝与浅拷贝

        1.深拷贝:创建一个新对象,并且对原对象中的引用数据类型的属性也进行了完全的复制,新对象和原对象的引用数据类型的属性指向不同的内存地址,即复制了对象及其所有的子对象。

        2.浅拷贝:创建一个新对象,新对象的属性和原对象的属性指向相同的内存地址,即只是复制了对象的引用,而不是复制对象本身。如果原对象的属性是基本数据类型,那么浅拷贝会复制其值。

五、String的理解

        String:是 Java 中用于表示字符串的类,它是不可变的,即一旦创建就不能被修改。在 Java 中,字符串常量是存储在字符串常量池中的,当创建一个字符串对象时,如果字符串常量池中已经存在相同的字符串常量,那么就会直接返回该常量的引用,而不会重新创建一个对象。

        为什么String不可变

                不可变:String对象一旦创建,其内容就不能被改变。任何对String对象的操作,如拼接、替换等,都会返回一个新的String对象。

                常量池:Java 中的字符串常量池是一个特殊的存储区域,用于存储字符串常量。当使用双引号创建字符串时,会先在常量池中查找是否已经存在相同的字符串,如果存在,则直接返回该字符串的引用,否则在常量池中创建一个新的字符串对象并返回其引用。

                final 修饰:String类被final修饰,不能被继承,这保证了String类的不可变性和安全性。

六、Java中Stringbuilder与Stringbuffer区别及应用场景

        1. 线程安全:StringBuffer是线程安全的,其内部方法使用synchronized关键字修饰,在多线程环境下可以安全地使用;而StringBuilder是非线程安全的,在单线程环境下性能更高。

        2.场景:

        StringBuilder:适用于单线程环境下对字符串进行频繁的拼接、修改等操作,如在循环中拼接字符串。

        StringBuffer:适用于多线程环境下对字符串进行操作,或者在需要保证线程安全的情况下使用。

七、时间类的转换

        Date 与 String 之间的转换:使用SimpleDateFormat类,通过format()方法将Date对象转换为字符串,通过parse()方法将字符串转换为Date对象。

public class TimeConversion {public static void main(String[] args) throws Exception {// Date与String之间的转换Date date = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String dateStr = sdf.format(date);System.out.println(dateStr);Date parsedDate = sdf.parse(dateStr);System.out.println(parsedDate);}
}//JDK8新特性
public class Main {public static void main(String[] args) {LocalDateTime now = LocalDateTime.now();DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");String formattedDateTime = now.format(formatter);System.out.println(formattedDateTime);}
}

八、自动拆箱与装箱

        1.装箱:将基本数据类型转换为对应的包装类对象的过程称为装箱。例如,将int类型转换为Integer对象。

        装箱原理:当将基本数据类型赋值给包装类对象时,编译器会自动调用包装类的valueOf()方法来创建包装类对象。例如,Integer i = 10;在编译时会被转换为Integer i = Integer.valueOf(10);

        2.拆箱:将包装类对象转换为对应的基本数据类型的过程称为拆箱。例如,将Integer对象转换为int类型。

        拆箱原理:当将包装类对象赋值给基本数据类型时,编译器会自动调用包装类的intValue()doubleValue()等方法来获取基本数据类型的值。例如,int j = new Integer(10);在编译时会被转换为int j = new Integer(10).intValue()。

基本数据类型对应的包装类:byteshortintlongfloatdoublecharboolean对应的包装类分别是ByteShortIntegerLongFloatDoubleCharacterBoolean。

九、异常

自定义异常:

        1.定义异常类:创建一个自定义异常类,通常继承自Exception或其子类。

        2.使用自定义异常:在代码中根据业务逻辑需要抛出和捕获自定义异常。

处理异常:

        捕获异常:在可能出现异常的代码块中使用try-catch-finally语句捕获异常,避免程序因异常而终止。

        抛出异常:如果当前方法无法处理异常,可以在方法中使用throws关键字将异常抛出。

关键字:北京网站优化解决方案_做的比较好的网站有哪些_网站推广排名收费_百度联盟官网

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: