Java知识点笔记
作者:@冰山醉酒
本文为作者原创,转载请注明出处:https://www.cnblogs.com/douFrank/p/16118021.html
#盘符切换
#切换目录 cd
#查看目录 dir
#退出 exit
#创建目录 md
#在文件夹创建 cd>
#删除目录 rd
#删除文件 del
卸载JDk
-
删除java的安装目录
-
删除JAVA_HOME
-
删除path下关于java的目录
-
测试java -version
配置环境变量
-
我的电脑-->右键-->属性
-
环境变量-->JAVA HOME
-
配置path变量
-
测试是否配置成功 java _version
注释
-
单行注释 //
-
多行注释 /* */
-
文档注释 /** */
数据类型
强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。
基本类型:整数、浮点数、字符、布尔
引用类型:类,接口,数组
变量作用域
类变量:放在main()方法之外,并用static修饰。
实例变量:放在main()方法之外,类实例化后可使用,相当于结构体的成员变量,有默认值。
局部变量:放在main()方法内,并必须赋予初值。
常量:使用final修饰
变量的命名规范
-
所有变量、方法、类名:见明知意
-
类成员变量:首字母小写和驼峰原则:monthSalary
-
局部变量:首字母小写和驼峰原则
-
大写字母和下划线:MAX_VALUE
-
类名:首字母大写和驼峰原则:GoodMan
-
方法名:首字母小写和驼峰原则:runRun()、run()
运算符
导入包
import com.study.www
这行代码需要放在包代码下方
JavaDoc
scanner对象
通过Scanner类的next()与nextline()方法获取输入的字符串,在获取前我们一般需要使要用hasNext()与hasNextLine()判断是否还有输入的数据。
next()与nextLine()
方法重载
方法的重载:就是在一个类中,有相同的函数名称,但形参不同的函数,
方法重载的规则:
-
函数名称必须相同
-
参数列表必须不同(个数不同或者类型不同、参数排列顺序不同等)
-
方法的返回类型可以相同也可以不同
-
仅仅返回类型不同不足以成为方法的重载
可变参数:在方法的声明中,在指定参数类型后加一个省略号(...),一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数都必须在它之前声明。
数组
-
数组必须声明数组变量,才能在程序中使用数组 dataType [] arrayRefVar;
-
Java语言中使用new操作符来创建数组,dataType [] arrayRefVar = new dataType[arraysize];
面向过程和面向对象
面向过程:第一步做什么,第二部做什么
面向对象:先分成哪些类,然后对类单独思考,最后才对每个分类下的细节进行面向过程的思考。
面向对象的本质:以类的方式组织代码,以对象的组织(封装)数据。
静态方法和非静态方法
静态方法:使用static修饰,可直接调用
非静态方法:无static修饰,调用时要先实例化
构造器(构造方法)
-
必须和类的名字相同
-
必须没有返回类型,也不能写void
作用:
-
new本质在调用构造方法
-
初始化对象的值
注意点:
-
定义有参构造之后,如果想使用无参构造,必须显示的定义一个无参构造。
-
创建构造函数的快捷键Alt+Insert
封装
属性私有,get/set
封装的作用
1.提高程序的安全性,保护数据
2.隐藏代码的实现细节
3.统一接口
4.系统可维护性增加了
内部类
内部类能访问外部类的私有属性
成员内部类不能定义static变量(常量可以)
成员内部类:
Outer outer = new Outer(); Inner inner = outer.new Inner(); //如果内部类的属性与外部类的属性相同时,在内部类中默认使用内部类, //在内部类中使用外部类属性的方法为:Outer.this.name;
静态内部类:和外部类一样,同级
1 //直接创建 2 Outer.Inner inner = new Outer.Inner(); 3 //内部类中的方法要调用外部类的属性时:需要先创建外部对象 4 public class Outer{ 5 private String name = "XXX"; 6 private int age =20; 7 8 static class Inner{ 9 private int year = 2000; 10 private static String sex = "男" 11 public void show(){ 12 //先创建外部对象 13 Outer outer = new Outer(); 14 Systerm.out.println(outer.name); 15 Systerm.out.println(outer.age); 16 Systerm.out.println(year); 17 Systerm.out.println(Inner.sex); 18 } 19 } 20 21 }
局部内部类:定义在外部类的的方法中,前面不能加任何修饰符,
使用时需要在方法内创建内部类对象并调用内部类的方法。
局部内部类不能定义static变量(常量可以)
继承
super
super注意点:
-
super调用父类的构造方法,必须在构造方法的第一个
-
super必须只能出现在子类的方法或者构造方法中
-
super和this不能同时调用构造方法
VS this
-
代表的对象不同
this:本身调用这个对象
super:代表父类对象的应用
-
前提
this:没有继承也可以使用
super:只能在继承条件下才可以使用
3.构造方法
this():本名类的构造
重写
前提:①需要有继承关系,子类重写父类的方法!②必须是非静态方法
-
方法名必须相同
-
参数列表必须相同
-
修饰符:范围可以扩大但不能缩小
public > Protected > Default > Private
-
抛出的一场:范围,可以被缩小,但不能扩大
ClassNitfoundExceptoin -->Exception(大)
重写,子类的方和父类必须一致: 方法体不同!
为什么需要重画写:
-
父类的功能,子类不一定需要,或者不一定满足!
-
Alt+Insert : Override;
多态
即同一发放可以根据发送对象的不同而采用不同的行为方式
多态注意事项:
-
多态是方法多态,类型没有多态
-
父类和子类,有联系,类型转换异常!ClassCastException
-
存在条件:继承关系,方法需要重写,父类引用子类对象!Father f1 = new Son( );
-
以下情况不能重写:①static方法,属于类,但不属于实例 ②final 常量 ③private方法
父类子类转型
-
父类引用指向子类的对象
-
把子类转化为父类,向上转型
-
把父类转化为子类,向下转型 ,强制转换
-
方便方法的调用,减少重复的代码!简洁
抽象类
-
不能用new之恶个抽象类,只能靠子类去实现它: 约束!
-
抽象类中可以写普通的方法
-
抽象类必须在抽象类中
接口
对比:
普通类:只有具体实现
抽象类:具体实现和规范(抽象方法)都有
接口:只有规范!自己无法写方法!
作用:
-
约束
-
定义一些方法,让不同的人实现
-
public abstract
-
public static final
-
接口不能被实例化
-
implements可以实现多个接口
-
必须重写接口中的方法
异常与自定义异常
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步