JavaSe基础2022年12月07日学习内容

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值