java基础知识点总结

本文详细介绍Java的基本概念,包括类的声明、main方法的作用、数据类型的分类、数组的使用、方法的重载与覆盖等内容,并解释了面向对象的基本原则。

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

  • 如果一个类声明成public,则也要将此文件名取成和这个类一样的名称,so,一个java文件里只能有一个public类
  • public static void main(String args[])为程序运行的起点;main() method之前必须加上public static void 这三个标识符。
    • public代表main()公有的method;
    • static表示main()在没有创建类对象的情况下,仍然可被运行;
    • void则表示main()方法没有回值。
    • main()括号中的参数String args[]表示运行该程序时所需的参数,固定用法
  • java数据类型可分为:原始数据类型引用数据类型原始数据类型:boolean,byte,char,short,int,long,float,double。引用数据类型:String(字符串),数组。引用数据类型变量在声明时不会分配内存,必须另外进行开辟内存空间的操作。
  • 常量是不同于变量的一种类型,它的值是固定的
  • long:64位,8字节(bytes);int:32位,4字节;short:16位,2字节
  • 自动数据转换条件:转换前的数据类型和转换后的类型兼容;转换后的数据类型的表示范围比转换前的类型大
  • 表达式中类型不符时转换规则:
    • 1、占用字节较少的类型转换成占用字节较多的类型
    • 2、字符类型会转换成int类型
    • 3、int类型会转换成float类型
    • 4、表达式中若某个操作数的类型为double,则另一个操作数字也会转换成double类型
    • 5、Boolean类型不能转换成其他类型
  • 数组赋初值:数据类型 数组名[] = {值1,值2}
  • static方法只能访问static成员变量
  • 方法重载:就是在同一个类中允许同时存在一个以上的同名方法,只要他们的参数个数或类型不同即可。
  • 成员覆盖:子类与父类允许具有相同的变量名称,但是但是数据类型不同,允许具有相同的方法名称,但功能不同
  • 返回数组的方法格式:如果是一维数组在方法前加int[],若二维则加int[][]以此类推。public static void int[] add()
  • 对象直接访问类中的属性,在面向对象法则中是不允许的,在开发中往往要将类中的属性封装(private),然后通过setXX()、getXX()来设置或取得属性
  • 垃圾对象:程序中不再使用的对象引用
  • 构造方法:名称与类名相同;没有返回值;
  • 程序中若没有声明构造方法则自动生成一无参的什么都不做的构造方法,若有声明则不会再自动生构造方法
  • ==”操作符比较两个对象的内存地址是否相等;equals()方法用于比较两个对象的内容是否一致;(== 比较内存地址,equals 比较内容)
  • this()调用本类的无参构造方法,super()调用父类的无参构造方法
  • System.exit(1);   退出程序
  • 静态代码块:静态代码块优先于静态方法,可以为静态方法属性初始化
  • 创建对象数组:Person p[] = new Preson[3];
  • 内部类:
  •  在方法中定义的内部类只能访问方法中的final类型的局部变量。因为用final定义的局部变量相当于是一个常量,他的生命周期超出方法运行的生命周期。
  • java把数据成员称为field(属性)。把方法成员称为method(方法)
  • java只允许单继承不允许多重继承,一个子类只能有一个父类。可以通过接口实现“多继承”
  • super主要功能是:完成子类调用父类中的内容,也就是调用父类中属性和方法;super.父类属性;super.父类方法
  • 子类在继承父类时,会继承父类中全部的属性和方法
  • 抽象类中也可以有构造方法,但这些构造方法必须在子类中调用
  • Object类中的toString方法在打印对象时调用
  • final类型
    • 1、final标记的类不能被继承;
    • 2、final标记的方法不能被子类复写
    • ;3、final标记的变量即为常量,只能赋值一次
  • 接口:接口里的“抽象方法”只做声明,不用定义具体处理方式;数据成员必须赋初值
  • 抽象类和接口的区别:
      类的继承只能继承一个,而接口可以继承多个接口  
      接口的继承要复写所继承的父接口所有方法,类的继承不需要
      接口数据成员必须赋初值,方法必须abstract
  • 接口的扩展可以extends多个接口;类实现接口也可以实现多个接口
  • 抽象类的实现类必须重写所有的方法,若抽象类的子类是另一个抽象类,则此此子类课不全部实现所有抽象方法
  • 多态性:子类实例化对象可以转换为父类实例化对象
  • 向上转型可以自动完成,向下转型必须强制类型转换;
  • Person p = new Person();
    Student s = (Student)p   //向下转型,强制类型转换

     

  • instanceof判断一个类是否视线里某个接口,也可以判断一个实例对象是否属于一个类。语法格式为: 对象 instanceof 类(或接口)返回值为 true或false
  • 若在类的方法中用throws抛出一个异常,则在调用它的地方就必须明确的用try-catch来捕获
  • 访问控制符https://blog.csdn.net/zSY_snake/article/details/81435762
  • 命名习惯
    • 1、包名中的字母一律小写。
    • 2、类名、接口名应当使用名词、每个单词的首字母大写。
    • 3、方法名,驼峰式写。
    • 4、常量名中每个字母一律大写如:MONEY
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

衣乌安、

嘿嘿,好心人赏俩钱儿~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值