Java知识点笔记

作者:@冰山醉酒
本文为作者原创,转载请注明出处:https://www.cnblogs.com/douFrank/p/16118021.html


常用的DOS命令

 #盘符切换
 #切换目录 cd
 #查看目录 dir
 #退出 exit
 #创建目录 md
 #在文件夹创建 cd>
 #删除目录 rd
 #删除文件 del

卸载JDk

  1. 删除java的安装目录

  2. 删除JAVA_HOME

  3. 删除path下关于java的目录

  4. 测试java -version

     

配置环境变量

  1. 我的电脑-->右键-->属性

  2. 环境变量-->JAVA HOME

  3. 配置path变量

  4. 测试是否配置成功 java _version

注释

  1. 单行注释 //

  2. 多行注释 /* */

  3. 文档注释 /** */

数据类型

强类型语言

要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。

基本类型:整数、浮点数、字符、布尔

引用类型:类,接口,数组

 

变量作用域

类变量:放在main()方法之外,并用static修饰。

实例变量:放在main()方法之外,类实例化后可使用,相当于结构体的成员变量,有默认值。

局部变量:放在main()方法内,并必须赋予初值。

常量:使用final修饰

 

变量的命名规范

  1. 所有变量、方法、类名:见明知意

  2. 类成员变量:首字母小写和驼峰原则:monthSalary

  3. 局部变量:首字母小写和驼峰原则

  4. 大写字母和下划线:MAX_VALUE

  5. 类名:首字母大写和驼峰原则:GoodMan

  6. 方法名:首字母小写和驼峰原则:runRun()、run()

 

运算符

导入包

import com.study.www

这行代码需要放在包代码下方

JavaDoc

scanner对象

通过Scanner类的next()与nextline()方法获取输入的字符串,在获取前我们一般需要使要用hasNext()与hasNextLine()判断是否还有输入的数据。

next()与nextLine()

方法重载

方法的重载:就是在一个类中,有相同的函数名称,但形参不同的函数,

方法重载的规则

  1. 函数名称必须相同

  2. 参数列表必须不同(个数不同或者类型不同、参数排列顺序不同等)

  3. 方法的返回类型可以相同也可以不同

  4. 仅仅返回类型不同不足以成为方法的重载

可变参数:在方法的声明中,在指定参数类型后加一个省略号(...),一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数都必须在它之前声明。

数组

  1. 数组必须声明数组变量,才能在程序中使用数组 dataType [] arrayRefVar;

  2. Java语言中使用new操作符来创建数组,dataType [] arrayRefVar = new dataType[arraysize];

面向过程和面向对象

面向过程:第一步做什么,第二部做什么

面向对象:先分成哪些类,然后对类单独思考,最后才对每个分类下的细节进行面向过程的思考。

面向对象的本质:以类的方式组织代码,以对象的组织(封装)数据。

静态方法和非静态方法

静态方法:使用static修饰,可直接调用

非静态方法:无static修饰,调用时要先实例化

构造器(构造方法)

  1. 必须和类的名字相同

  2. 必须没有返回类型,也不能写void

作用:

  1. new本质在调用构造方法

  2. 初始化对象的值

注意点:

  1. 定义有参构造之后,如果想使用无参构造,必须显示的定义一个无参构造。

  2. 创建构造函数的快捷键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注意点:

  1. super调用父类的构造方法,必须在构造方法的第一个

  2. super必须只能出现在子类的方法或者构造方法中

  3. super和this不能同时调用构造方法

VS this

  1. 代表的对象不同

this:本身调用这个对象

super:代表父类对象的应用

  1. 前提

    this:没有继承也可以使用

    super:只能在继承条件下才可以使用

    3.构造方法

this():本名类的构造

super():父类的构造

重写

前提:①需要有继承关系,子类重写父类的方法!②必须是非静态方法

  1. 方法名必须相同

  2. 参数列表必须相同

  3. 修饰符:范围可以扩大但不能缩小

    public > Protected > Default > Private

  4. 抛出的一场:范围,可以被缩小,但不能扩大

    ClassNitfoundExceptoin -->Exception(大)

重写,子类的方和父类必须一致: 方法体不同!

为什么需要重画写:

  1. 父类的功能,子类不一定需要,或者不一定满足!

  2. Alt+Insert : Override;

多态

即同一发放可以根据发送对象的不同而采用不同的行为方式

多态注意事项:

  1. 多态是方法多态,类型没有多态

  2. 父类和子类,有联系,类型转换异常!ClassCastException

  3. 存在条件:继承关系,方法需要重写,父类引用子类对象!Father f1 = new Son( );

  4. 以下情况不能重写:①static方法,属于类,但不属于实例 ②final 常量 ③private方法

父类子类转型

  1. 父类引用指向子类的对象

  2. 把子类转化为父类,向上转型

  3. 把父类转化为子类,向下转型 ,强制转换

  4. 方便方法的调用,减少重复的代码!简洁

抽象类

  1. 不能用new之恶个抽象类,只能靠子类去实现它: 约束!

  2. 抽象类中可以写普通的方法

  3. 抽象类必须在抽象类中

接口

对比:

普通类:只有具体实现

抽象类:具体实现和规范(抽象方法)都有

接口:只有规范!自己无法写方法!

作用:

  1. 约束

  2. 定义一些方法,让不同的人实现

  3. public abstract

  4. public static final

  5. 接口不能被实例化

  6. implements可以实现多个接口

  7. 必须重写接口中的方法

异常与自定义异常

 

 

 

posted @   冰山醉酒  阅读(50)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示