java EE 学习笔记 2

JAVA EE                                          (除了基本类型以外,其它类型都是引用类型!)

1、get set 方法:    使用   alt + shift + s (快捷设置) (Generate getters and setters)

2、string类型是个引用类型

3、数组:

数组也是引用类型,以对象的形式存在

int [] a;    a = new int [10]      或      int [] arr2 = new int [10]  或 int [] arr2 = {1,2,3,4};

引用类型的数组初始化值是null,赋值时数组元素存的是对象的地址(通过这个地址来操作这个对象)

排序:Arrays.sort(a)  排序a(从小到大)      (操作数组的类;Arrays) (可以查阅API)

          使用 static 修饰,可以不用创建对象,直接调用(工具类的一般都用static修饰)

拷贝: int [] b = Arrays.copyOf(a, a.length);   把a拷贝到b     

4、面向对象编程:封装  、 继承   、多态

子类可以继承分类的属性和方法(一个子类只能有一个父类,一个父类可以有多个子类)

public class Zi extends Fu{}

顶级父类Object,所有的类创建时都会默认继承它

父类中如果有不想被子类继承的方法,添加private私有化方法

子类中可以对方法进行重写和覆盖(直接定义和父类名字一样的方法)

子类不能将父类中的方法在覆盖时定义成更私有的方法(如不能从 public 变成 private)

子类中的异常不能比父类中的多

可以用 super 调用覆盖前的父类方法

super关键字(父类的引用):

            普通方法里: super.方法名称();调用被覆盖的方法

     构造器里: 默认的第一行,调用父类的构造器初始化参数   (可以传参给父类来初始化)

             super在构造器中一定要放到第一行

  如:public Zi(String name) {

super(name);(传给父类来初始化,若是空参构造器可以不传)

System.out.println("子类有参构造器");

}

5、方法的重载 (同一个类中)

方法名称相同从,参数列表不同,与返回值无关

6、this关键字

构造器可以发生重载

构造器相互调用使用 this 关键字,必须在构造器的第一行,this()根据参数列表调用相应的构造器

this 代表本类对象,当前对象(区分重名的变量)

7、对象的构造和初始化过程

属性  方法  构造器   {}游离块( 初始化块 )   static{}初始化器(初始化static修饰的属性,无论创建多少次对象只执行一次)

无论选择哪种构造器,游离块都先执行

大致如下;

父类初始化器

子类初始化器

父类的初始化块

父类空参构造方法

子类初始化块

子类空参构造器

8、封装类(包装类)

ctrl + e 获得返回值

能实现不同数据类型的转换, 如sting转int

自动装箱   如: Integer i = 10;                                       (基本数据类型转换成对象)

自动拆箱 : 遇到对象自动转换为基本数据类型                   (将对象转换成基本数据类型)

toString 返回一个文本形式(string)的地址 (可以用 alt + shift + s来重载)

可以用equals(需重写)来判断数据是否相等(对比 ==)  (alt + shift +s)

看源码  鼠标放上对象上面 按 ctrl

9、可变参数

public static void method (int ... is){}

10、static

static 修饰的方法能调用普通方法吗? 不能           反之可以

static 修饰的属性和方法从属于类

普通的从属于对象

11、final

final   修饰类       类不可以被继承    

         修饰变量   变量的值不能改变

         修饰方法   方法不能被覆盖

12、abstract类 和 abstract方法      (alt + shift + a 能划线同时输入多行)

        抽象方法只能在抽象类中,抽象类中可以有普通方法

抽象类中的抽象方法的子类必须实现吗?     是的(必须实现,若不实现子类也变成抽象类)

注意:抽象类不能创建对象

13、匿名子类对象

14、interface(接口)  (接口中定义的方法都是抽象的方法)

接口就是为了解决java中单继承的特性

接口不能创建对象

接口中的属性都是public static final修饰

implements(接口关键字)

接口可以多继承

15、多态(对象的多种形态)

对象向上转型,子类对象伪装成父类,父类中定义过得方法,执行子类重写后的方法 

如: Animal d = new Dog();

对象向下转型  (执行子类特有的方法) Dog dog = (Dog) d;

   dog.kanjia( );

猜你喜欢

转载自blog.csdn.net/weixin_42155195/article/details/81101411