【Java入门杂记】【六】

2023-11-11

返回值类型练习

返回数组

package test01;

public class Manager {
	public int[] a() {
		
		int num1 = 10;
		int num2 = 20;
		
		int nums[] = {num1,num2};
		
		return nums;
		
	}
}
package test01;

public class Test {
	public static void main(String[] args) {
		Manager mgr = new Manager();
		
		int ages[] = mgr.a();
		for(int i : ages) {
			System.out.println(i);
		}
	}
}

返回类型

//未知

package test01;

public class Test {
	public static void main(String[] args) {
	
		Manager mgr = new Manager();
		
		Student s = mgr.a();
		System.out.println(s.name);
		System.out.println(s.age);
		System.out.println(s.sex);
		
	}
}
//未知

package test01;

public class Manager {
	public Student a() {
		
		String name = "张三";
		int age = 33;
		String sex = "男";
		
		Student stu = new Student();
		
		stu.name = name;
		stu.age = age;
		stu.sex = sex;
		
		return stu;
		
	}
}
//Student类

package test01;

public class Student {
	public String name;
	public int age;
	public String sex;
}

参数列表

参数:多int 返回值:单int

package test02;

public class Calculator {
	public int calc(int num1,int num2) {
		int result = num1 + num2;
		return result;
	}
}
package test02;

public class Test {
	public static void main(String[] args) {
		Calculator c = new Calculator();    //实例化对象
		
		int num1 = 15;
		int num2 = 37;
		
		int result = c.calc(num1,num2);
		System.out.println(result);
	}
}

形参、实参练习

package test03;

public class ZhaZhiJi {
	//形参:形式上的参数(数据类型  参数名)
	public void zha(String fruit) {
		System.out.println(fruit + "汁");
	}
}
package test03;

public class Test {
	public static void main(String[] args) {
		ZhaZhiJi zzj = new ZhaZhiJi();
		
		String fruit = "苹果";
		
		//实参:实际的参数(变量或值)
		zzj.zha(fruit);
	}
}

参数:arr 返回值:int

package test04;

public class Calculator {
	public int getSum(int [] arr) {
		int sum = 0;
		for(int i : arr) {
			sum += i;
		}
		return sum;
	}
}
package test04;

public class Test {
	public static void main(String[] args) {
		int arr[] = {1,3,5,7,9};
		
		Calculator c = new Calculator();
		int result = c.getSum(arr);
		System.out.println(result);
		
	}
}

get:调试模式,双击打点,F6下一步,F5进入函数

参数:对象 返回值:多类型

package test05;

public class Student {
	
	public String name;
	public int age;
	
}
package test05;

public class Test {
	public static void main(String[] args) {
		Manager mgr = new Manager();
		Student stu = new Student();
		
		stu.name = "alice";
		stu.age = 19;
		
		mgr.show(stu);
	}
}
package test05;

public class Manager {
	public void show(Student stu) {
		
		System.out.println("大家好,我叫" + stu.name + ",我的年龄是" + stu.age + "岁");
		
	}
}

对象数组

package test06;

public class Student {
	public String name;
	public int age;
}
package test06;

public class Test {
	public static void main(String[] args) {
		
		Student stu1 = new Student();
		stu1.name = "alice";
		stu1.age = 19;
		
		Student stu2 = new Student();
		stu2.name = "tony";
		stu2.age = 20;
		
		Student [] stuArr = new Student[2];
		
		stuArr[0] = stu1;
		stuArr[1] = stu2;
		
		Manager mgr = new Manager();
		mgr.show(stuArr);
		
	}
}
package test06;

public class Manager {
	public void show(Student[] stuArr) {
		for(Student stu : stuArr) {
			System.out.println(stu.name + "\t");
			System.out.println(stu.age + "\n");
		}
	}
}

方法

重载方法

package test07;

public class Student {
	//重载方法:在一个类中,方法名相同,参数项不同(个数、类型、顺序)的方法
	//wjj:不完全一样就不同
	public void show(String name) {
		System.out.println(name);
	}
	
	public void show(int age) {
		System.out.println(age);
	}
	
	public void show(String name,int age) {
		System.out.println(name + age);
	}
}
package test07;

public class Test {
	public static void main(String[] args) {
		Student stu = new Student();
		
		stu.show("alice");
		stu.show(19);
		stu.show("tony",20);
		
	}
}

不构成重载方法

1.相同类型,形参名称不同
2.方法名一样,参数类型一样,只有返回值不一样,不构成重载

构造方法

构造方法也是重载方法

定义:在一个类中,方法名跟类名相同,没有返回类型的方法

实例化就是调用方法,构造方法在实例化对象时,通过【new】关键字调用

如果没有自定义构造方法,系统将默认分配一个【隐式】【无参】的构造方法
在这里插入图片描述
使用重载方法写一个无参的:
在这里插入图片描述

面向对象

知识点:

封装

面向对象的第一大特征,抽取事物的共同特征,写入到一个类的过程

封装的内容:
属性封装(静态特征)
方法封装(动态特征)

封装的使用场景:
业务类的封装(能应用):如上面的Calculator
数据类(实体类)的封装:如何承载数据(模拟数据库),如上面的Student

package test09;

public class Student {
	private int id;
	private String name;
	
	public int getId() {
		return id;
	}
	
	public void setId() {
		this.id = id;
	}
	
	public String getName() {
		return name;
	}
	
	public void setName() {
		this.name = name;
	}
	
	//有参无参的构造方法
	public Student() {
		
	}
	
	public Student(int id,String name) {
		this.id = id;
		this.name = name;
	}
	
}
package test09;

public class Test {
	public static void main(String[] args) {
//		Student stu = new Student();
		Student stu = new Student(2,"abc");
		
//		stu.setId(777);
		
		int age = stu.getId();
		System.out.println(age);
		String name = stu.getName();
		System.out.println(name);
			
	}
}

Eclipse代码补全:
右键、source
或Alt+Shift+S
Generate Getters and Setters
Alt+A全选:创造所有属性的方法
Generate Constructor using Fields
Alt+D全不选:无参构造
Alt+A全选:有参构造
使用属性构造函数(有参/无参)

继承

待学习

多态

待学习

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Java入门杂记】【六】 的相关文章

随机推荐

  • 牛客网--程序员代码面试指南--矩阵的最小路径和

    题目描述 给定一个 n m 的矩阵 a 从左上角开始每次只能向右或者向下走 最后到达右下角的位置 路径上所有的数字累加起来就是路径和 输出所有的路径中最小的路径和 输入描述 第一行输入两个整数 n 和 m 表示矩阵的大小 接下来 n 行每行
  • vue使用Element UI时,el-table表格整行操作单选禁选并隐藏全选框

    需求场景 需求 表格复选修改为单选 只可选择一个 不满足条件的不可勾选 可进行整行操作 vue中的el table布局 注意使用的方法
  • 【registry】Reader schema missing default value for field: age

    1 背景 hortonworks registry 在页面上想在原有数据的基础上添加一个新的字段 type record namespace com orendainx trucking name TruckData
  • now() 和SYSDATE()的区别

    mysql中日期函数还是比较常用的 主要有NOW 和SYSDATE 两种 虽然都表示当前时间 但使用上有一点点区别 NOW 取的是语句开始执行的时间 SYSDATE 取的是动态的实时时间 因为NOW 取自mysql的一个变量 TIMESTA
  • group by的基本用法

    在平常的工作中 我们经常需要对数据进行分组 那么group by该如何使用呢 都有哪些使用场景呢 语法 含有聚合函数的过滤条件需放在having后 1 select 字段 from 表名 where 条件 group by 字段 2 sel
  • ASP.NET-MVC4--Layout母版页面传入数据Model模型

    首先建立基础控制器 其它页面控制器都继承自这个基类控制器 定义好 layout母版页需要的 ViewModel 在基类ApplicationController控制器里 定义 ViewBag TopMenuModel 在Layout母版页里
  • 时间序列信号阈值降噪方法,有什么可以创新的地方吗?

    可以换个空间 从图域的角度进行分析 比如图傅里叶变换 图小波变换等图时频分析方法 图小波阈值降噪的基本思想是通过将时间序列信号转换成路图信号 再利用图小波变换分解成尺度函数系数和一系列对应不同尺度的谱图小波系数 然后设置阈值对图小波系数进行
  • 通常环境光照度参照表

    通常环境光照度参照表 场所 环境 光照度 晴天 30000 300000 lux 晴天室内 100 1000 lux 阴天 3000 10000 lux 阴天室外 50 500 lux 阴天室内 5 50 lux 黄昏室内 10 lux 日
  • 8大思路全面解决AJAX跨域问题

    未完待续 建议先看一下慕课网上的视频课程 Ajax全接触 课程时长合理 讲的很透彻
  • kubernetes13安装CoreDNS 部署时遇CrashLoopBackOff

    前言 https github com minminmsn k8s1 13 blob master coredns kubernetes1 13 1集群部署coredns md 按照上述大神写的说明去部署的CoreDNS 遭遇问题 在仪表盘
  • 散点图

    代码 画直线 我们通常引入的是分模块pyplot 大部分的功能都在这个包中 import matplotlib pyplot as plt import numpy as np x np linspace 1 1 50 指定的间隔内 返回均
  • MySQL高阶问题:server层和存储引擎层是如何交互的?

    点击上方石杉的架构笔记 右上选择 设为星标 每日早8点半 精品技术文章准时送上 往期文章 BAT 面试官是如何360 无死角考察候选人的 上篇 每秒上万并发下的Spring Cloud参数优化实战 分布式事务如何保障实际生产中99 99 高
  • 数据库修改删除的操作

    创建一个school数据库 创建学生表 学号int 登录密码 varchar 20 姓名 性别varchar 2 出生日期 datatime 家庭住址 email 注意事项 1 使用英文 表的名称和字段尽量使用 括起来 2 auto inc
  • 内点法求最优潮流和微电网调度(风、光、蓄电池、燃油机)(Matlab实现)

    目录 1 概述 2 案例 2 1算例描述 2 2 数据 3 一点小知识 4 Matlab代码实现 1 概述 由于电力系统本身的复杂性 电力潮流优化具有规模大 约束条件多和非线性的特点 通过对最优潮流的求解 最终达到优化已有资源 降低发电厂耗
  • 私有IP地址

    什么是私有IP地址呢 私有IP是主要用于在局域网中分配的 私有IP的主要范围有如下 私有 内网 IP地址范围 A类 10 0 0 0 10 255 255 255 B类 172 16 0 0 172 31 255 255 C类 192 16
  • 在SAE部署WordPress

    虽然几个月前我是以安装应用的形式将wordpress部署在sae 虽然当时sae应用商店还没有收费 但是作为一个开发者 不喜欢这种方式来搭建自己的博客 因为搭建自己的博客 自己什么事情都没有干 可能另外一个原因吧 应用达到一定的访问量 我们
  • 使用LDO进行电压转换,24V转5V电路为什么中间要加一个中间电压做转化

    问题 我的输入是24v 输出是5V 有两个方案 方案一 使用LM7805直接从24V转5V 假如后面的负载电流是100ma 那么LM7805上的发热功率就是W 19 0 1w 1 9w 方案二 先使用LM7815从24V转15V 然后从15
  • python — 项目命名规范

    python 项目命名规范 类型 公有 外部成员 私有 内部成员 项目 project My project 模块 module my naming convention my naming convention 包 package my
  • 逆序和 (最小反转数)【归并排序解决】

    算法竞赛 file author jUicE g2R qq 3406291309 彬 bin 必应 一个某双流一大学通信与信息专业大二在读 brief 一直在算法竞赛学习的路上 copyright 2023 9 COPYRIGHT 原创技术
  • 【Java入门杂记】【六】

    文章目录 返回值类型练习 返回数组 返回类型 参数列表 参数 多int 返回值 单int 形参 实参练习 参数 arr 返回值 int 参数 对象 返回值 多类型 对象数组 方法 重载方法 不构成重载方法 构造方法 面向对象 封装 继承 多