Java面向对象02——回顾方法(定义、调用)及加深

方法的定义
 package oop.demon01;
 
 //Demon01 类
 public class Demon01 {
     
     //main 方法
     public static void main(String[] args) {
         
    }
     /*
     修饰符 返回类型 方法名(。。。。){
         //方法体
         return 返回值;
     }
   
     如果返回值是 void ----- return ; (空)
      */
     //return 结束方法,返回一个结果
     public String sayHello(){
         return "hello,world";
    }
     
     public int max(int a, int b){
         return a>b ? a : b;//三元运算符
    }
 }
 

 

方法的调用(静态 、非静态)
 package oop.demon01;
 
 public class Demon02 {
 
     public static void main(String[] args) {
         //实例化这个类
         //new Student().say();   一般用下面的表示法
         //对象类型 对象名 = 对象值
         Student student= new Student();//实例化
         student.say();//对象名.方法
    }
 
 }
 
 // 方法调用
 //静态方法 static : 类名.方法名 Student.say();
 
 
 //非静态方法 (之前的scanner)
 /*
 实例化这个类(new)
 对象类型 对象名 = 对象值
 Student student= new Student();//实例化
         student.say();//对象名.方法
  */
形参和实参(实际参数的类型和形式参数的类型要一一对应!)
 //非静态调用
 package oop.demon01;
 
 public class Demon03 {
     public static void main(String[] args) {
         //int ans=new Demon03().add(1,2);
         Demon03 demon03=new Demon03();
         int ans=demon03.add(1,2);
         System.out.println(ans);// 3
    }
 
     //                 a,b 为形参
     public int add(int a,int b){
         return a+b;
    }
 }
 
 //静态调用
 package oop.demon01;
 
 public class Demon03 {
     public static void main(String[] args) {
         int ans=Demon03.add(1,2);
         System.out.println(ans);
    }
 
     //                 a,b 为形参
     public static int add(int a,int b){
         return a+b;
    }
 }
 
 
 
值传递和引用传递
 package oop.demon01;
 // 值传递
 public class Demon04 {
     public static void main(String[] args) {
         int a = 1;
         System.out.println(a); // 1
 
         Demon04.change(a);
         System.out.println(a); // 1
    }
 
     // 返回值为空                 形参
     public static void change(int a){
         a=10;
    }
 }
 
 
 package oop.demon01;
 
 // 引用传递:传递一个对象,本质还是值传递
 public class Demon05 {
     public static void main(String[] args) {
         Person person=new Person();
         System.out.println(person.name);//null
         Demon05.change(person);
         System.out.println(person.name);//wentaotao
 
 
    }
     public static void change(Person person){
         //person是一个对象:指向的---》Person person = new Person(); 这是一个具体的人,可以改变属性
         person.name = "wentaotao";
    }
 
 }
 
 // 定义了一个Person类,有一个属性:name
 class Person{
     String name;//nall
 }

 

学习内容源自视频:b站狂神说Java

 

 

posted @ 2021-07-30 11:53  时间最考验人  阅读(217)  评论(0编辑  收藏  举报