@[TOC](一、方法的重载)
1、满足条件之一:方法名称相同、返回值类型不同、参数列表(类型)不同或个数不同
2、作用:多用于相似功能,减少名称的使用个数 使用方法的重载 jdk 例子:println() 打印
“` java
package qf22020212;
public class Demo02 {
public static void main(String[] args) {
add1(1, 2);
System.out.println(add1(1, 2, 4));
System.out.println(add1(1.0, 2.0));
}
public static void add1(int a, int b) {
System.out.println(a + b);
}
public static int add1(int a, int b, int c) {
return a + b + c;
}
public static double add1(double a, double b) {
return a + b;
}
}
“`
@[TOC](二、方法的重写)
1、满足条件:方法名和参数列表必须相同、即内容可以改变。***核心重写!***
2、作用:其子类的使用父类的方法时,同时想添加点自己的东西,这时可以使用重写。如果想使用回父类的方法,使用super()调用父类原方法
“`java
package qf22020212;
public class Demo05 {
public static void main(String[] args) {
Animal animal1 = new Cat();
Animal animal2 = new Dog();
animal1.run(5);
animal2.run(10);
}
}
class Animal {
public void run(int m) {
System.out.println(“走” + m + “米”);
}
}
class Cat extends Animal {
@Override
public void run(int m) {
System.out.println(“猫在走” + m + “米”);
}
}
class Dog extends Animal {
@Override
public void run(int m) {
//调用父类的原方法
super.run(m);
}
}
“`
@[TOC](三、栈内存)
“`java
package qf22020212;
public class Demo03 {
public static void main(String[] args) {
int m = add(20, 30);
System.out.println(m);
}
public static int add(int n, int b) {
return n + b;
}
}
“`
@[TOC](四、数组)
1、概念:为什么使用数组,需要容器来存储相同数据类型的数据,数组是将数据进行有规律的进行存储,所以很容易赋值取值。
2、动态初始化格式:数组数据类型 [] 名称(内存地址) = new 数组数据类型[长度(开辟的内存空间长度)];
3、赋值取值方式:名称(内存地址)[索引/下标];
4、代码实现:
“`java
package qf22020212;
public class Demo04 {
public static void main(String[] args) {
int[] arr = new int[3];
//数组的下标/ 索引 是从零开始的
arr[0] = 1;//赋值
arr[1] = 2;
arr[2] = 3;
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}
“`
5、数组的静态初始化:
A.格式1:int[] arr = new int[]{1,2,4,5};
B.格式2:int[] arr = {1,2,4,5};
静态初始化不能分开写**如:**
int[] arr;
arr = {1,2,4,5}(错误)
@[TOC](五、递归调用)
1、含义:就是自己调用自己,设置某个结束条件
“`java
package qf22020212;
public class Demo01 {
public static void main(String[] args) {
System.out.println(new Demo01().add(100));
}
public int add(int n) {
//三目运算符结合递归调用,实现简化1加到100
return n == 1 ? 1 : n + add(n – 1);
}
}
“`
@[TOC](六、数据类型初始化默认值)
1、整数类型: byte 、 short 、int、long 默认都为0
2、 浮点 类型:float、double 默认都为0.0
3、 布尔 类型: boolean 默认为false
4、字符类型: char 默认为 ‘ ‘ 为空格字符
5、引用类型默认为:null 如:String
@[TOC](七、 jvm 内存划分)
1、内存:编写的java的源代码文件是存储硬盘中,运行java的程序是在内存中硬盘中的数据是永久保存,内存中的数据都是临时保存
2、jvm 将内存划分为五块
A.**栈**:所有**局部变量**都是存在栈内存中,**所有的方法**在执行的时候,都会进栈,在栈内开辟内存空间
B.**堆**:**所有new的局部变量**都会在堆内存中开辟空间 例如 new 对象、new数组
C.**方法区**:**所有的字节码文件**claass类加载信息,静态的资源都是存储方法区中的
D.本地方法区:调用本地方法,java使用native的带调用c与 c++ 的方法
例子:public native int hashCode();
E.程序计算器:与 cpu 有关,控制的程序的执行,控制具体的代码执行