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
Java面向对象02——回顾方法(定义、调用)及加深的更多相关文章
- # 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封装 ...
- 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封装 ...
- 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现
088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...
- 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封装 ...
- 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封装 ...
- 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封装 ...
- 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封装 ...
- 中文乱码在java中URLEncoder.encode方法要调用两次解决
中文乱码在java中URLEncoder.encode方法要调用两次解决 一.场景: 1.我在客户端要通过get方式调用服务器端的url,将中文参数做utf-8编码,需要在js中两次的进行编码,服务器 ...
- 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封装 ...
随机推荐
- 精尽Spring Boot源码分析 - 剖析 @SpringBootApplication 注解
该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...
- 通过xrdp连接centos7桌面:
6.1.需求场景: 1.希望使用windows远程访问centos图形界面,使用xmanager连接centos远程桌面时有以下问题: (1)只能有一个用户同时使用xmanger连接远程桌面,多个用户 ...
- ECS实例中的应用偶尔出现丢包现象并且内核日志(dmesg)存在“kernel: nf_conntrack: table full, dropping packet”的报错信息
问题描述 连接ECS实例中的应用时偶尔出现丢包现象.经排查,ECS实例的外围网络正常,但内核日志(dmesg)中存在"kernel: nf_conntrack: table full, dr ...
- Redis主从,集群部署及迁移
工作中有时会遇到需要把原Redis集群下线,迁移到另一个新的Redis集群的需求(如机房迁移,Redis上云等原因).此时原Redis中的数据需要如何操作才可顺利迁移到一个新的Redis集群呢? 本节 ...
- Maven安装、配置及基础
简介: Maven是Apache公司的开源项目,是项目构建工具,用来管理依赖. Maven的优点: 同样的代码实现相同的功能,Maven项目没有Jar包,项目大小更小. maven的优点如何实现: 没 ...
- AcWing 341. 最优贸易
C国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市. 任意两个城市之间最多只有一条道路直接相连. 这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的 ...
- spring boot j集成seagger 加入拦截器后 swagger 不能访问
一开始我是这样排除拦截的,但是发现没用 后来我发现swagger的真实访问路径是这样的 转自: https://blog.csdn.net/ab1991823/article/details/7906 ...
- 《基于JQuery和CSS的特效整理》系列分享专栏
<基于JQuery和CSS的特效整理>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/201724.html 文章 一款基于jQue ...
- Macbook(M1版)的用户看过来,.net 6 Preview 6支持Apple Silicon for macOS
本文由葡萄城技术团队翻译 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 我们很高兴发布.NET6预览的第6版,本次预览是倒数第二次预览了.在本次预览发布之 ...
- 5.Java流程控制
所有的流程控制语句都可以相互嵌套.互不影响 一.用户交互Scanner Scanner对象 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户 ...