当前位置: 首页 > news >正文

专业的建站公司服务天津网站设计哪家公司好

专业的建站公司服务,天津网站设计哪家公司好,国内有哪些比较好的做定制旅游网站,学校网站建设通知Java面试宝典:核心基础知识精讲 这篇笔记整理了 Java 编程中的核心基础知识,涵盖面向对象编程、常见类与方法区别等内容,适合初学者快速复习或深入理解 Java 的核心概念。以下内容经过精心整理,结构清晰,适合作为博客发…

Java面试宝典:核心基础知识精讲

这篇笔记整理了 Java 编程中的核心基础知识,涵盖面向对象编程、常见类与方法区别等内容,适合初学者快速复习或深入理解 Java 的核心概念。以下内容经过精心整理,结构清晰,适合作为博客发布。


1. 面向对象编程(OOP)的核心理念

面向对象编程(OOP)是一种通过将现实世界的事物抽象为类和对象的编程范式。它通过以下三大特性实现代码的模块化与可维护性:

  • 封装(Encapsulation):将数据(属性)与操作数据的方法绑定,限制对数据的直接访问,只能通过定义好的接口操作。
  • 继承(Inheritance):通过从现有类派生新类,复用父类的属性和方法,减少代码冗余。
  • 多态(Polymorphism):允许不同子类对象对同一消息(方法调用)做出不同响应,增强代码灵活性。

示例

class Animal {void eat() {System.out.println("This animal eats food.");}
}class Dog extends Animal {@Overridevoid eat() {System.out.println("Dog eats bones.");}
}

2. 方法重载(Overloading)与重写(Overriding)的区别

  • 重载(Overloading)

    • 发生在同一类中。
    • 方法名相同,参数列表不同(数量或类型),与返回值无关。
    • 编译时多态,静态绑定。
    • 示例:
      class Calculator {int add(int a, int b) { return a + b; }double add(double a, double b) { return a + b; }
      }
      
  • 重写(Overriding)

    • 发生在子类重写父类方法。
    • 方法名、参数列表、返回值类型必须完全相同
    • 子类方法的访问权限不能低于父类,异常范围不能扩大。
    • 构造函数不能被重写。
    • 示例:
      class Animal {void sound() { System.out.println("Some sound"); }
      }
      class Cat extends Animal {@Overridevoid sound() { System.out.println("Meow"); }
      }
      

3. 接口(Interface)与抽象类(Abstract Class)的对比

特性抽象类接口
继承/实现被子类继承(extends被类实现(implements
多继承只能继承一个抽象类可实现多个接口
构造器可以有构造器(用于子类初始化)不能有构造器
实例化不能直接实例化不能直接实例化
访问修饰符可使用 publicprotected方法默认 public
成员变量可包含普通成员变量只能声明常量(public static final

注意:抽象类的构造器仅在子类实例化时被调用,用于初始化父类部分。


4. 深拷贝与浅拷贝的区别

  • 浅拷贝(Shallow Copy)

    • 仅拷贝对象本身,对象中的引用类型字段仍指向原内存地址。
    • 新旧对象共享引用类型字段,修改可能相互影响。
    • 示例:
      class Person implements Cloneable {String name;Address address;@Overrideprotected Object clone() throws CloneNotSupportedException {return super.clone();}
      }
      
  • 深拷贝(Deep Copy)

    • 拷贝对象及其所有引用对象,生成完全独立的新对象。
    • 修改新对象不会影响原对象。
    • 示例:
      class Person implements Cloneable {String name;Address address;@Overrideprotected Object clone() throws CloneNotSupportedException {Person p = (Person) super.clone();p.address = (Address) address.clone();return p;}
      }
      

5. sleep()wait() 的区别

特性sleep()wait()
所属类ThreadObject
锁资源不释放锁释放锁
唤醒方式自动唤醒(指定时间后)需要 notify()notifyAll()
使用场景不需要 synchronized必须在 synchronized 块中使用

注意:调用 wait() 而不使用 synchronized 会抛出 IllegalMonitorStateException

synchronized (obj) {obj.wait(); // 释放锁,等待唤醒
}

6. 自动装箱与拆箱:intInteger

  • 自动装箱(Autoboxing):将基本数据类型(如 int)转换为包装类对象(如 Integer)。
  • 自动拆箱(Unboxing):将包装类对象转换为基本数据类型。
  • 实现原理:通过 Integer.valueOf()(装箱)和 Integer.intValue()(拆箱)实现,属于编译器的语法糖。
  • 用途:便于在集合(如 List<Integer>)中使用基本类型数据。

int vs Integer

  • int 是基本数据类型,直接存储值,默认值为 0
  • Integer 是包装类,引用类型,默认值为 null,需实例化后使用。
List<Integer> list = new ArrayList<>();
list.add(1); // 自动装箱:int -> Integer
int value = list.get(0); // 自动拆箱:Integer -> int

7. ==equals() 的区别

  • ==
    • 基本数据类型:比较值是否相等。
    • 引用类型:比较内存地址。
  • equals()
    • 默认(Object 类):比较地址(与 == 等效)。
    • 重写后:通常比较对象内容(例如 String 类重写了 equals())。
String s1 = new String("hello");
String s2 = new String("hello");
System.out.println(s1 == s2); // false(地址不同)
System.out.println(s1.equals(s2)); // true(内容相同)

8. 为什么 String 类使用 final 修饰?

  • String 不可继承final 修饰的类不能被继承,防止子类修改其行为。
  • 效率String 是高频使用的类,固定实现避免了重写导致的性能问题。
  • 安全性String 使用 native 方法调用系统 API,禁止继承防止恶意代码注入。

9. StringBufferStringBuilder 的对比

特性StringBufferStringBuilder
线程安全线程安全(方法加 synchronized非线程安全
性能较慢(因加锁开销)较快(无加锁开销)
使用场景多线程环境单线程环境
StringBuilder sb = new StringBuilder();
sb.append("Hello").append(" World"); // 高效拼接

10. finalfinallyfinalize

  • final
    • 修饰类:不可被继承。
    • 修饰方法:不可被重写。
    • 修饰变量:不可修改,需初始化为常量。
  • finally
    • 用于 try-catch 块后,确保代码无论异常与否都执行(常用于资源释放)。
  • finalize
    • Object 类方法,垃圾回收前调用,用于清理资源(不推荐使用,建议用 try-with-resources)。
try {// 可能抛出异常的代码
} catch (Exception e) {// 处理异常
} finally {// 释放资源
}

总结

以上内容涵盖了 Java 的核心基础知识,从面向对象编程到常见类与方法的区别。希望这篇笔记能帮助你快速复习或深入理解 Java 编程的精髓!如果有其他问题,欢迎随时探讨。

http://www.dtcms.com/a/591354.html

相关文章:

  • 网站经营方案dw 做简单静态网站
  • 鄂州市建设局网站网站建设公司ipo
  • 上海省住房与城乡建设厅网站平安保险网站官方网址
  • 旅游网站建设网站推广wordpress为什么运行缓慢
  • 10 分钟速通 TypeScript 核心
  • 网站美工设计什么是平衡网站导航栏一般有什么内容
  • Kodiak 推出 Berachain 原生永续合约平台——Kodiak Perps,完善流动性生态版图
  • 怎样用ps做网站首页图片WordPress 微盘
  • 甘肃肃第八建设集团网站1注册城乡规划师报考条件
  • 宁波网站推广平台咨询公司网站推广制作教程
  • 陕西省建设执业资格注册中心网站淘宝网站开发框架
  • 深圳企业建站模板网络营销的特点和功能
  • 门户网站的传播特点企业所得税费用怎么算
  • 建设信用卡积分兑换网站湖南好搜公司seo
  • 网站建设的制度南海区建设局网站
  • 昆明网站建设手机版seo会被取代吗
  • 湖北微网站建设电话招聘网站开发技术维护
  • 做网站原则网站制作 太原
  • 株洲企业网站建设费用wordpress微信群导航主题
  • 概念产品设计网站企业服务中心组建方案
  • 代写网站懂做网站怎么赚钱
  • 网站建设谢词软件技术好就业吗
  • 卡车行业做网站的用途互联网营销怎么赚钱
  • 天津外贸公司网站制作怀化网站设计
  • React Native第六章
  • 专业的建设网站服务公司网页翻译app
  • 做家具商城网站被骗去国外做网站网站推广
  • 长春网上建设网站网站建立具体步骤是
  • 家居网站建设全网营销个人身份调查网站
  • 铁门关市建设局网站个人备案网站 内容