JavaSe-2022-12-07面向对象
每日一句:把命运掌握在自己手中。
学习内容:值的传递、方法的重载、继承的概念、访问修饰符
-
值的传递
-
分为两种基本类型和引用类型
-
我们先来看看基本类型吧
-
public static void main(String[] args) { int n = 10; f(n); //传递基本类型,将值传递给新变量 //这里还是10 因为n之间没有任何的关系 没有n = f(n) System.out.println(n); //10 } private static int f(int n) { n++; // System.out.println(n); // 11 return n; }
注意:这里的int n 和 f()方法中的n是没有联系的,因为他们的作用域都是局部的
-
-
引用类型
-
public static void main(String[] args) { int[] arr = {1,2,3,4,5}; change(arr); //传递引用类型 System.out.println(arr[2]);//100 } private static void change(int[] arr) { arr[2] = 100; }
注意这里修改了arr[2]的值
-
-
我来画个图方便观看
-
-
方法的重载
-
概念:在同一个类中,方法名相同,参数列表不同称为方法的重载
-
public class FunctionOverLoad02 { public static void main(String[] args) { Aoo a = new Aoo(); a.f(); a.f(4); a.f("张三"); } } class Aoo{ public void f(){} public void f(int a){} public void f(String name){} } //哪一个没有重载 public void a(){} public void a(int a,int b,int c){} public void a(int a,int b){} //public void a(int b,int c,int a){} 为什么这里不行 因为主要是看类型 int类型对应 第二个类型 public void a(int a,int b,double d){}
- 注意:总结一下,不是看abc的参数名字,而是看参数类型(int,int,int)和(int,int,double)有区别就是方法的重载,但是**(int,int,int)是一样的**就不是方法的重载,虽然名字不一样
-
-
继承的概念
-
继承(关键字Extends),在我们生活当中儿子继承了父亲的财产,子继承父。在我们的代码当中也是如此,我们可以通过继承来减少代码量,儿子继承父亲相同的,儿子还可以独有的属性和方法。
-
//定义一个父类 public class Animal{ //父类的属性 String name; int age; //父类的方法 public void print(){ System.out.println(name+age); } } // 定义一个子类 猫类 继承Animal类 class Cat extends Animal{ //子类独有的属性 String claw; } //可以调用父类的属性和方法 public static void main(String[] args) { Cat cat = new Cat(); System.out.println(cat.name); // 从父类继承而来 System.out.println(cat.age); System.out.println(cat.claw); }
- 注意:Java中类只能允许继承一个父类,父类可以拥有多个子类。
-
-
访问修饰符
-
四种不同的访问修饰符
-
// 四种不同的访问修饰符 public int a; //公开的 protected int b; //受保护的 int c; //默认 private int d;//私有的 public void print(){ //本类中可以访问所有修饰符 System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(d); }
-
作用范围:
-
分为两类:一类是修饰类的、一类是修饰属性和方法的
- 修饰类的只能使用public和默认
- 修饰属性可以使用private、默认、protected、public
-
-
-
gitee代码仓库地址:https://gitee.com/Zhengsenbing/java-se-basic