JavaSE基础

(参考狂神说Java)

Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

标识符是大小写敏感的。

转义字符:\t  制表符

     \n  换行

在操作比较大的数的时候,注意溢出问题

Byte类型:大小从-128—127

强制转换  (类型)变量名

自动类型转换  byte-->short-->char-->int-->long-->float-->double

注:1.不能对布尔值进行转换

  2.不能把对象类型转换为不相干的类型

  3.转换的时候可能存在内存溢出,或者精度问题

int a=3;

int b=a++;  //执行完这行代码后,先给b赋值,再自增

//int a=a+1

for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。

return除了表示返回一个方法,还可以表示终止方法(return 0;)

System.out.println(a)

//a++  int a=a+1

int c=++a;  //执行完这行代码前,先自增,再给b赋值

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

方法重载的规则:

  方法名称必须相同。

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

实现理论:

  方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。

 

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

构造器:

  1.方法名和类名相同

  2.没有返回值

作用:

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

  2.初始化对象的值

 public class Person{
  //一个类即使什么都不写,它也会存在一个方法

  //显示的定义构造器

  String name;

  

  //1.使用new关键字,本质是在调用构造器

  //2.用来初始化值

  public Person() {

    

  }

 

  //有参构造:一但定义了有参构造,无参就必须显示定义

  public Person(String name) {
    this.name = name;

  }

}

 

public class Application{
  public static void main (String[] main) {
    //new  实例化了一个对象

    Person person = new Person(name:"kuang");

    System.out.println(person.name);

  }

}

 

super注意点:

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

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

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

VS   this:

  代表的对象不同:

    this:本身调用者这个对象

    super:代表父类对象的应用

  前提

    this:没有继承也可以使用

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

  构造方法

    this():本类的构造

    super():父类的构造

 

重写:需要有继承关系,子类重写父类的方法!

  1. 方法名必须相同

  2. 参数列表必须相同

  3. 修饰符:范围可以扩大但不能缩小     public>protected>default>private

  4. 抛出的异常:范围,可以被缩小,但不能扩大;  ClassNotFoundException --> Exception(大) 

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

为什么要重写:

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

 

多态注意事项:

 1. 多态是方法的多态,属性没有多态

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

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

  1. static 方法属于类,它不属于实例

  2. final 常量:

  3. private 方法:

 

类型转换:

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

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

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

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

 

接口的作用:

  1. 约束

  2. 定义一些方法,让不同的人实现~  10  -->  1

  3. 接口中的所有定义其实都是抽象的 public abstract

  4. 修饰常量默认是 public static final

  5. 接口不能被实例化,接口中没有构造方法

  6. implements 可以实现多个接口

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

 

java中的Scanner类中的方法next()与nextInt()都是吸取输入台输入的字符,区别:

  next()不会吸取字符前后的空格/Tab键,只吸取字符,遇到空格/Tab键/回车停止录入

  nextInt()吸取字符前后的空格/Tab键,回车键停止

posted @ 2021-12-23 22:21  颖晨曦  阅读(51)  评论(0)    收藏  举报