当前位置:网站首页>Day016 Classes and Objects
Day016 Classes and Objects
2022-07-30 22:31:00 【Strange year】
School类:
package cn.bdqn.demo01;
/**
* 定义School类
*
*/
public class School {
// 定义属性:访问权限修饰符(暂时不写) 属性类型(数据类型) 属性名(变量名);
//学校名称
String schoolName;
//学校地址
String schoolAddress;
//学校成立至今的年数
int age;
//定义方法:访问权限修饰符 返回值类型 方法名(参数列表[可以不写]){方法体}
public void test(){
System.out.println("测试语句");
}
}
Dog类:
/*
* 方法的定义语法:
* 访问权限修饰符 返回值类型 方法名(数据类型 变量名1,数据类型 变量名2,...,数据类型 变量名n){方法体}
*
*1)访问权限修饰符有4种:public(公共的) protected(受保护的) 默认的(不写修饰符) private(私有的)
*2)返回值类型:
* 没有返回值的时候,写void
* 有返回值,返回值可以是基本数据类型,也可以是引用数据类型
*3)方法名:
* 采用小驼峰命名法
* 见名知意
*4)方法的参数列表,可以有可以没有,有参数的时候,可以有一个,也可以有多个
*5)方法体:方法能具体干什么事情的代码
*
*方法根据是否有返回值和参数分类:
* 1)无返回值的无参方法
* 2)无返回值的有参方法
* 3)有返回值的无参方法
* 4)有返回值的有参方法
*
*调用有返回值的方法注意事项:
* 调用一个有返回值的方法,对于返回的结果,你可以直接输出,也可以使用返回类型的变量去接收返回值
*调用需要传递参数的有参方法注意事项:
* 方法需要多少个参数,你就要传递多少个参数,并且需要按照其定义的顺序传递参数
*综上所述,调用方法的两个原则是:
* 1)给什么接什么---》返回什么结果给你,你就用什么变量接收
* 2)要什么给什么---》方法需要什么参数,你就给什么参数
*
*/
package cn.bdqn.demo02;
public class Dog {
//定义属性
public String name;
public int health;
public int love;
//定义方法:访问权限修饰符 返回值类型 方法名(参数列表[可以不写]){方法体}
public void print(){
System.out.println("printtest in method");
}
}
package cn.bdqn.demo02;
public class DogTest {
public static void main(String[] args) {
// 创建对象:类名 对象名 = new 类名();
// 创建Dog对象类
Dog wangCai = new Dog();
// 给对象的属性赋值 对象名.属性名 = 数据;
wangCai.name = "旺财";
wangCai.health = 100;
wangCai.love = 100;
// 再创建一个Dog类对象
Dog happy = new Dog();
// 给happy的属性赋值
happy.name = "来福";
happy.health = 95;
happy.love = 98;
//创建第三个Dog类对象
Dog daMao=new Dog();
//给daMao的属性赋值
daMao.name="大毛";
daMao.health= 75;
daMao.love = 90;
//对象调用方法: 对象名.方法名()
wangCai.print();
happy.print();
daMao.print();
//输出对象的属性值
System.out.println(wangCai.name);//旺财
System.out.println(daMao.health);//75
}
}
方法:
package cn.bdqn.demo04;
public class MethodDemo01 {
//方法根据是否有返回值分为:无返回值的方法和有返回值的方法
//方法没有返回值,返回值类型写void
public void noVoid(){
System.out.println("我是没有返回值的方法");
}
//方法有返回值,返回值是什么类型,就写什么类型,返回值类型可以是基本数据类型,也可以是引用数据类型,方法有返回值,需要使用return将结果返回
public int returnInt(){
return 100;
}
public static void main(String[] args){
//方法需要通过对象来调用
MethodDemo01 md = new MethodDemo01();
//调用的方法没有返回值,不需要用变量接收
md.noVoid();
//调用有返回值的方法,You can decide whether to use a variable to accept the return value according to the situation
System.out.println(md.returnInt());
int num = md.returnInt();
System.out.println(num);
}
}
package cn.bdqn.demo04;
public class MethodDemo02 {
//方法根据有没有参数分为无参方法和有参方法
//Define parameter methods
public void noParameter(){
System.out.println("我是一个无参方法");
}
//定义有参方法
public void havaoneParameter(int num){
System.out.println("你传进来的参数是:"+num);
}
//Define a method with two parameters
public void havaTwoParameter(String name,int age){
System.out.println("你的姓名是:"+name+",年龄是:"+age);
}
public static void main(String[] args){
//创建MethodDemo02类对象
MethodDemo02 md = new MethodDemo02();
md.noParameter();
md.havaoneParameter(10000);
int a =1000;
md.havaoneParameter(a);
md.havaTwoParameter("yangjie", 20);
String str = "chenbin";
int age = 22;
md.havaTwoParameter("chenbin", age);
}
}
package cn.bdqn.demo04;
public class MethodDemo03 {
public static void arraySort(int[] nums){
for (int i = 0; i < nums.length-1; i++) {
for (int j = 0; j < nums.length-1-i; j++) {
//对数组进行升序排序
if(nums[j]>nums[j+1]){
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
}
//定义一个方法输出数组里的所有元素
public static void printArray(int[] nums){
System.out.print("[");
for (int i = 0; i < nums.length-1; i++) {
System.out.print(nums[i]+" ");
}
System.out.print(nums[nums.length-1]);
System.out.print("]");
System.out.println();
}
public static void main(String[] args) {
int[] arr1 = {11,56,78,46,99,50};
MethodDemo03.arraySort(arr1);
MethodDemo03.printArray(arr1);
int[] arr2 = {56,78,46,99,51,68,3};
MethodDemo03.arraySort(arr2);
MethodDemo03.printArray(arr2);
}
}
边栏推荐
- MySQL索引常见面试题(2022版)
- 2022.7.30
- CISP-PTE真题演示
- 不用bs4的原因居然是名字太长?爬取彩票开奖信息
- mysql锁机制
- MySQL 有这一篇就够(呕心狂敲37k字,只为博君一点赞!!!)
- TransGAN code reproduction - Jiutian Bisheng Platform
- Mysql进阶优化篇01——四万字详解数据库性能分析工具(深入、全面、详细,收藏备用)
- IDEA2021.2安装与配置(持续更新)
- navicat连接MySQL报错:1045 - Access denied for user ‘root‘@‘localhost‘ (using password YES)
猜你喜欢
cmd (command line) to operate or connect to the mysql database, and to create databases and tables
MySQL 5.7 detailed download, installation and configuration tutorial
Chapter 8 Intermediate Shell Tools II
The Road to Ad Monetization for Uni-app Mini Program Apps: Rewarded Video Ads
WSL安装图形界面并通过xrdp/X-Launch访问
MySQL cursors
解决npm warn config global `--global`, `--local` are deprecated. use `--location=global` instead
HCIP第十六天
MySQL 灵魂 16 问,你能撑到第几问?
@RequestBody、 @RequestParam 、 @PathVariable 和 @Vaild 注解
随机推荐
MySQL 灵魂 16 问,你能撑到第几问?
PhpMetrics usage
成功解决ImportError: cannot import name ‘_validate_lengths‘
【微信小程序】小程序突破小程序二维码数量限制
Chrome 配置samesite=none方式
go版本升级
MySQL联合查询(多表查询)
mysql锁机制
MySQL cursors
Gxlcms audio novel system/novel listening system source code
2022.7.27
IDEA使用技巧
解决一个Mysql的utf8编码导致的问题
Rust编译报错:error: linker `cc` not found
Regular expression syntax and usage
win10重建索引
mysql创建表
DistSQL 深度解析:打造动态化的分布式数据库
【Summary】机器人方法汇总
The mysql time field is set to the current time by default