方法的定义
 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

Java面向对象02——回顾方法(定义、调用)及加深的更多相关文章

  1. # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结

    095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  2. 092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

    092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  3. 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现

    088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...

  4. 094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 04 static关键字(续)

    094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  5. 091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 01 static关键字(上)

    091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  6. 090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 04 使用包进行类管理(2)——导入包

    090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  7. 089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 使用包进行类管理(1)——创建包

    089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  8. 中文乱码在java中URLEncoder.encode方法要调用两次解决

    中文乱码在java中URLEncoder.encode方法要调用两次解决 一.场景: 1.我在客户端要通过get方式调用服务器端的url,将中文参数做utf-8编码,需要在js中两次的进行编码,服务器 ...

  9. 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)

    093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

随机推荐

  1. 为了提高开发效率,我实现了 uTools 的超级面板

    前言 为了进一步提高开发工作效率,最近我们基于 electron 开发了一款媲美 uTools 的开源工具箱 rubick.该工具箱不仅仅开源,最重要的是可以使用 uTools 生态内所有开源插件!这 ...

  2. unity调用安卓方法实现安装apk文件(androidx)

    原文链接:点击打开 unity想要实现安装apk文件需要与安卓通讯,所以需要自己来实现安卓代码. 第一步先要新建一个安卓项目提供给unity来使用,我这里使用的工具是android studio4.1 ...

  3. Unity使用Photon PUN2设置中国区服务器

    原文地址:Unity使用Photon PUN2设置中国区服务器 入门系列 PUN2选择中国区服务器 先搜索中国区官网 选择试用购买 绑定你的Appid 注意: 当你的Appid申请了中国区后,海外的你 ...

  4. 试着给VuePress添加登录授权支持,基于v-dialogs

    背景介绍 VuePress是个不错的能基于Markdown快速构建静态网站的框架,初步来说,对外访问都是透明的. 但是可能因为一些保密需要,有些站点的文档,我们希望控制一下访问,所以我们借着别人的轮子 ...

  5. Elasticsearch中的Term查询和全文查询

    目录 前言 Term 查询 exists 查询 fuzzy 查询 ids 查询 prefix 查询 range 查询 regexp 查询 term 查询 terms 查询 terms_set 查询 t ...

  6. POJ 3304 Segments 叉积

    题意: 找出一条直线,让给出的n条线段在这条直线的投影至少有一个重合的点 转化一下,以重合的点作垂线,那么这条直线一定经过那n条线段.现在就是求找到一条直线,让这条直线经过所有线段 分析: 假设存在这 ...

  7. Spring:Spring注解大全

    @Controller 标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象. @Controller public class TestController ...

  8. ESP32高分辨率计时器笔记

    尽管FreeRTOS提供了软件计时器,但这些计时器有一些限制: 最大分辨率等于RTOS滴答周期 计时器回调从低优先级任务分派 硬件计时器不受这两个限制,但是通常它们使用起来不太方便.例如,应用组件可能 ...

  9. Antilibrary能拯救稍后不读吗

    从「稍后再读」到「再也不读」 上学时,我有一套自认为很高效的资料搜集工作流.大致流程是浏览到感兴趣或可能有用的信息时,粗略扫过一眼后即用 Pocket 将其保存为稍后再读,随后借助 IFTTT 的某个 ...

  10. C语言:2.1

    int main() { char zi='A'; short bla=10; int blb=20; long blc=30; float bld=340.56; double ble=34.324 ...