方法的定义
 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. 精尽Spring Boot源码分析 - 剖析 @SpringBootApplication 注解

    该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...

  2. 通过xrdp连接centos7桌面:

    6.1.需求场景: 1.希望使用windows远程访问centos图形界面,使用xmanager连接centos远程桌面时有以下问题: (1)只能有一个用户同时使用xmanger连接远程桌面,多个用户 ...

  3. ECS实例中的应用偶尔出现丢包现象并且内核日志(dmesg)存在“kernel: nf_conntrack: table full, dropping packet”的报错信息

    问题描述 连接ECS实例中的应用时偶尔出现丢包现象.经排查,ECS实例的外围网络正常,但内核日志(dmesg)中存在"kernel: nf_conntrack: table full, dr ...

  4. Redis主从,集群部署及迁移

    工作中有时会遇到需要把原Redis集群下线,迁移到另一个新的Redis集群的需求(如机房迁移,Redis上云等原因).此时原Redis中的数据需要如何操作才可顺利迁移到一个新的Redis集群呢? 本节 ...

  5. Maven安装、配置及基础

    简介: Maven是Apache公司的开源项目,是项目构建工具,用来管理依赖. Maven的优点: 同样的代码实现相同的功能,Maven项目没有Jar包,项目大小更小. maven的优点如何实现: 没 ...

  6. AcWing 341. 最优贸易

    C国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市. 任意两个城市之间最多只有一条道路直接相连. 这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的 ...

  7. spring boot j集成seagger 加入拦截器后 swagger 不能访问

    一开始我是这样排除拦截的,但是发现没用 后来我发现swagger的真实访问路径是这样的 转自: https://blog.csdn.net/ab1991823/article/details/7906 ...

  8. 《基于JQuery和CSS的特效整理》系列分享专栏

    <基于JQuery和CSS的特效整理>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/201724.html 文章 一款基于jQue ...

  9. Macbook(M1版)的用户看过来,.net 6 Preview 6支持Apple Silicon for macOS

    本文由葡萄城技术团队翻译 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 我们很高兴发布.NET6预览的第6版,本次预览是倒数第二次预览了.在本次预览发布之 ...

  10. 5.Java流程控制

    所有的流程控制语句都可以相互嵌套.互不影响 一.用户交互Scanner Scanner对象 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户 ...