Java基础总结一

本文介绍了Java的基础知识,包括常量的使用,如字符常量和字符串常量,以及字符编码集GBK、UTF-8和ASCII。讨论了运算符的优先级和用法,并概述了面向对象编程的核心概念,如类、对象和继承。此外,还提及了泛型的基本概念。

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

基础

常量

用于标记状态,数据记录:

        如项目中的主要阈值

字符常量和字符串常量

        字符常量里面只有一个字符 如'A'

        字符串用于数据信息的传递(字符串底层不可变)

public final class String implements java.io.Serializable, Comparable<String>, CharSequence {
  
    private final char value[];

    public String(char value[]) {
        this.value = Arrays.copyOf(value, value.length);
    }
}

字符编码集: GBK UTF-8 ASCII 编码

转义字符需要注意:

        \' 单引号        \" 双引号        \n 换行        \t 对齐

变量

命名规范可阅读<阿里巴巴JAVA开发手册>

基本数据类型 

boolean1bit \ 其他
byte1字节
short \ char2字节
int \ float(F)4字节
long(L) \ double8字节

引用数据类型

运算符

1() [] .从左到右
2! +(正) -(负) ~ ++ --从右向左
3* / % + -从左到右
4<< >> >>>从左到右
5< <= > >= instanceof从左到右
6== !=从左到右
7&从左到右
8^从左到右
9|从左到右
10&&从左到右
11||从左到右
12? : (三目运算符)从右向左
13= += -= *= /= %= &= |= ^= ~= <<= >>= >>>=从右向左

短路&& 短路||

分支循环

if( 条件1 ) {
    分支1;
}else if( 条件2 ) {
    分支2;
}else {
    分支3;
}

switch( 表达式 ):{  //表达式只能为int char String 枚举
    case 分支1:
        break;
    case 分支2:
        break;
    default:
        break;
}
while(循环条件){  //适用循环次数不确定
    循环体;
}

do{
    循环体;
}while(循环条件);

for( 1初始化; 2循环条件; 4循环条件修改){
    3循环体;
}

数组

数据类型[] 数组名 = new 数据类型[容量 Capacity];

        静态分配空间, 不可扩容

        下表从0开始

方法(函数)

修饰符 返回值类型 方法名(形式参数列表) {
	方法体;
}

方法重载 和 方法重写

面向对象

区别于面向过程

引用数据类型

类和对象

对象是类的实例

public class Person{
    //成员变量
    private int id; 
    private String name;
    //getter 和 setter
    //构造器
    
    //成员方法
    public void eat() {
        System.out.println();
    }

}

对象实例化
类名 类对象 = new 类名();
Person person = new Person();
person.eat();
person.setId(1);

封装

getter和setter方法

将成员变量都用private修饰

成员变量和局部变量的区别

成员变量局部变量
内存
当前对象的状态临时使用作用
零值不赋值不能进行非赋值运算
GC销毁方法定义内生存周期

继承

public class A extents B{
    
}
this 和 super的区别

this表示当前对象

super表示父类对象

方法重写Override
final

final 修饰成员变量: 可以认为是带有名称的常量

final 修饰成员方法: 不能被子类重写

final 修饰类: 无继承类

final修饰局部变量: 需要赋值,不可变, 延长生存周期

abstravact

abstract 修饰的方法没有方法体

abstract修饰的类表示抽象类

继承abstract类需要实现abstract修饰的方法

多态

编译看左,运行看右

        编译看左:Java 编译代码过程中,以左侧的大类型为主,右侧数据只是子类

        运行看右: 运行过程中会根据右侧的真实类型,来执行目标方法,提供目标数据

父类的引用指向子类对象 \  接口的引用指向实现类对象

拓宽方法的参数支持范围  \ 拓宽方法的返回值类型范围

接口

接口之间继承为多继承

类同时实现多接口

多继承时左优先原则

public static final 和 public abstract 修饰

泛型

        <T> Type     类型
        <E> Element  元素
        <K> Key      键
        <V> Value    值
        <R> Return   返回值

extend 和 super在泛型中的使用

        ? extend A A的子类及A

        ? super B B的父类及B

static

静态变量

称为类变量、静态变量

Java 虚拟机只为静态变量分配一次内存,加载类过程中完成静态变量的内存分配

修改后所有都修改, 推荐使用类名调用

静态成员变量晚于类对象销毁

静态方法

推荐类调用

静态成员方法在类文件加载阶段申请内存【方法区】,并且已具备执行能力。所有和执行相关的内容全部准备就绪

可以直接访问所属类的静态变量和静态方法

不能使用 this 关键字,也不能直接访问所属类的实例变量和实例方法

super 关键字也与类的实例相关,静态方法中不能使用 super 关键字

静态代码块

类文件加载过程中,一定执行,有且只执行一次

不可以使用类内的非静态资源

可以使用类内其他静态资源

一般用于项目启动过程中,资源加载,配置文件读取。相关程序启动

final

局部变量

一旦赋值无法改变

引用数据类型

指向地址不可变, 指向地址的内容可变, 如数组arr, arr[i]可以修改

成员变量

定义时必须初始化, 一旦赋值无法修改

成员方法

不能被重写

无子类, 不能被继承

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值