Java遇到的一些问题(一)

本文深入讲解了Java中的关键概念,包括类与对象、异常处理、I/O流操作、继承与多态、抽象类与接口、泛型应用等内容,并探讨了如ConcurrentHashMap等并发集合的使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习内容

  • 类与包装
  • 异常
  • I/O流
  • 继承
  • 抽象类与接口
  • 泛型

一些问题

静态变量与静态方法

  • public 都能访问
  • protected 仅限子类访问
  • private 自身访问

声明成static的方法

  • 仅能调用其他static方法
  • 只能访问static数据
  • 不能以任何方式引用this或super

泛型

public class Point < T >
set X (T X)
* 不能是原生类型,需要是包装类
* int -> Integer
* double -> Double

继承

  • 在构造函数中用super()

ConcurrentHashMap

  • 尽量尝试用CuncurrentHashMap替代HashMap
  • 支持多线程操作

  • 抽象类: 实现了一部分,避免重复实现
  • 接口: 无实现,但允许多继承

异常

  • 常见异常:

    • ArithmeticException:表现为除0等数学计算的异常
    • NullPointerException:空指针,常见于变量未指向就引用
    • ArrayIndexOutofBoundException:越界
    • IllegalAccessException:通常见于不同类访问private
  • 自定义异常

  • 类丢异常用throws,而代码内丢异常用throw
  • e.printStackTrace()打印异常
  • throw new Exception….
  • 注意抛出异常的位置

I/O Stream

  • 字节流
    • InputStream
    • In.read!=-1
  • 字符流
    • FileReader
    • FileWriter
  • System.in 和 Scan.in的区别
    • Scan以空格回车作为终止
    • 如有空格回车用System.in

反射


  • Class < ? > parentClass = Class.forName(“…”);
  • Objet.getClass(): 获取类
  • class.getDeclaredFields() 获取声明的所有类,包括Private
  • import java.lang.reflect
  • 注意,比较字符串用equals(),且常量在前避免空指针
  • field.setAccessible(true):可以修改private
  • 注意:获得私有属性时,要使用try-catch语句,哪怕没有异常!

引用大佬原话:Java是一门严谨的高级语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值