方法的定义
 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. gitla 报错 The project you were looking for could not be found or you don't have permission to view it.

    gitlab项目组下创建项目 $ git push -u git@192.168.101.129:/DrvOps/Dev_Test : 报错信息如下: remote: ================ ...

  2. layui动态创建Tab、Tab右键功能

      1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 & ...

  3. 利用C语言判别输入数的位数并正逆序输出

    利用C语言判别用户输入数的位数并正逆序输出 #include <stdio.h> void main() {        int i, scanfNum, printfNum, temp ...

  4. POJ 1584 A Round Peg in a Ground Hole 判断凸多边形 点到线段距离 点在多边形内

    首先判断是不是凸多边形 然后判断圆是否在凸多边形内 不知道给出的点是顺时针还是逆时针,所以用判断是否在多边形内的模板,不用是否在凸多边形内的模板 POJ 1584 A Round Peg in a G ...

  5. k8s部署docker容器

    一.环境 需机器已部署好k8s和docker的环境 二.操作步骤 1.将制作好的镜像推送到docker仓库 docker tag nginx:test harbor:test-nginx docker ...

  6. 学会这些CSS技巧让你写样式更加丝滑

    目录 1,前言 1,calc() 2,min() 3,max() 4,clamp() 5,gap 6,writing-mode 1,前言 记录一些很好用的css属性 1,calc() calc()函数 ...

  7. [源码解析] 深度学习分布式训练框架 horovod (13) --- 弹性训练之 Driver

    [源码解析] 深度学习分布式训练框架 horovod (13) --- 弹性训练之 Driver 目录 [源码解析] 深度学习分布式训练框架 horovod (13) --- 弹性训练之 Driver ...

  8. Spring:Spring-IOC简介

    想要了解控制反转( Inversion of Control ), 我觉得有必要先了解软件设计的一个重要思想:依赖倒置原则(Dependency Inversion Principle ). 什么是依 ...

  9. Java实验项目三——宠物商店

    Program:宠物商店的设计(继承,接口,线性线性表) Description:本题未实现图形用户界面,项目结构描述如下: classes.Pet:定义宠物接口,只要实现该接口的宠物类,都可存储进宠 ...

  10. Python网页正文转换语音文件的操作方法

    天气真的是越来越冷啦,有时候我们想翻看网页新闻,但是又冷的不想把手拿出来,移动鼠标翻看.这时候,是不是特别想电脑像讲故事一样,给我们念出来呢?人生苦短,我有python啊,试试用 Python 来朗读 ...