方法的定义
 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. 最新Unity 与Android 交互通信(基于Unity 2019.4 和 Android Studio 4.1.1)

    原文章链接:https://blog.csdn.net/woshihaizeiwang/article/details/115395519 CLSays:网上找了一圈,真的是很多都不能用,要么太老,要 ...

  2. 二、RabbitMQ 进阶特性及使用场景 [.NET]

    前言 经过上一篇的介绍,相信大家对RabbitMQ 的各种概念有了一定的了解,及如何使用RabbitMQ.Client 去发送和消费消息. 特性及使用场景 1. TTL 过期时间 TTL可以用来指定q ...

  3. 关于Word转Markdown的工具Typora安装及使用

    简介 Typora是一款轻便简洁的Markdown编辑器,支持即时渲染技术,这也是与其他Markdown编辑器最显著的区别.即时渲染使得你写Markdown就想是写Word文档一样流畅自如,不像其他编 ...

  4. 运行cmd时提示你可能没有适当的权限访问该项目

    Windows无法访问指定设备.路径或文件.你可能没有适当的权限访问该项目.   方法/步骤   在C:\Windows\System32目录下中找到cmd.exe文件   右键点击 "属性 ...

  5. Docker搭建Jenkins+Maven/Gradle——代码自动化运维部署平台(二)

    一.简介 1.Jenkins 概述: Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台.这是一个免费的源代码,可以处理任何类型的构建或持续集成.集成Jenkins ...

  6. Mysql:mysql5.7长时间不连接失效问题

    问题 mysql5数据库连接超时问题:待机一晚上后,第二天早上第一次登录总是失败. 查看日志发现如下错误: "com.mysql.jdbc.exceptions.jdbc4.Communic ...

  7. Docker:PostgreSQL-11配置数据持久化

    卷的原理图: 主机中的本地目录作为Docker容器内的持久存储卷装载,以便在主机和Docker容器之间共享数据.如果主机希望访问或定期备份在Docker容器内运行的DB服务器写入文件夹的数据或数据库, ...

  8. ClouderaManager安装时mysql信息问题

    在安装ClouderaManager5.7时,需要输入mysql信息,如下所示: 记录在此,以防忘记: database host name:localhost database type:MySQL ...

  9. 数据库表的自增ID createDate和updateDate 用JPA注解代替触发器实现

    对于数据库表的自增ID , createDate和updateDate 等字段,用JPA注解代替触发器实现,效率会高很多. 由于这些属性很多entity都有 可以写成两个基本entity :BaseE ...

  10. androidstudio创建第一个so文件

    前言:之前看安卓软件安全与逆向分析这书,看到ndk开发这节,发现自己连so文件都没编译操作过233,所以就直接上手试试, 感觉挺好玩的,把关键的加密流程都放进so中去实现,这周先写个demo试试,感觉 ...