🌻初始化
🌼静态初始化
public static void main(String[] args) { int[] arr1 = {1,2,3}; int[] arr2 = new int[]{1,2,3}; }
静态初始化可以简写,省去后面的new int[ ]
🌼动态初始化
public static void main(String[] args) { int[] array = new int[3]; }
🌼未初始化默认值
🌻遍历数组
🌻数组作为参数和返回值
🌼数组作为参数
public static void func(int[] arr) { } public static void main(String[] args) { int[] array = new int[3]; func(array); }
🌼数组作为返回值
public static int[] func(int[] arr) { return arr; } public static void main(String[] args) { int[] array = new int[3]; func(array); }
🔎类和对象
类与对象的关系:类实例化后产生对象
class Cat = new Cat();
🌻类
🌼成员变量
定义在方法外部,类的内部
❀普通成员变量
由对象调用,内存在对象中
❀静态成员变量
有static关键字,由类名调用,内存在方法区
🌼成员方法
❀普通成员方法
❀静态成员方法
有static关键字,通过类名调用
注意事项:
在静态方法内部不能直接调用非静态的成员方法
非静态的数据成员都需要对象来引用,静态方法里面不能使用this
非静态成员方法内部可以使用静态成员方法
🌻对象
一个类可以实例化多个对象
🌻this关键字
代表当前对象的引用
🌼用法
🌻构造方法
作用:初始化成员变量
可以重载
编译器会默认提供一个不带参数的构造方法
当我们自己提供构造方法后,编译器就不再提供默认的构造方法
无返回值
实例化对象时调用
🌻封装
将内部实现细节隐藏起来,避免类外直接获取想要隐藏的属性,使用关键字private修饰
🌼get and set
利用get and set方法对封装的数据进行访问
🌼导包
利用import在当前类导入其他包的类
🌻代码块
🌻内部类
🌼非静态内部类
即未被static修饰的成员内部类
class OuterClass { public int data1 = 1; private int data2 = 2; public static int data3 = 3; //非静态内部类 class InnerClass { public int data1 = 11111; public int data4 = 4; private int data5 = 5; public static final int data6 = 6; public void func() { System.out.println("InnerClass:func()"); } } }
🌼静态内部类
被static修饰的内部成员类
class OuterClass { public int data1 = 1; private int data2 = 2; public static int data3 = 3; static class InnerClass { public int data4 = 4; private int data5 = 5; public static int data6 = 6; public void func() { System.out.println("InnerClass:func()"); } } }
🌼匿名内部类