JAVA——函数

*函数是对功能代码的封装*

函数的类型:
1.无返回值,无参的 : void 函数名(){}
2.有返回值,有参的 : int 函数名(类型 变量名,类型 变量名,。。。){ return 1}
3.无返回值,有参的
4.有返回值, 无参的

return的作用:
1.结束函数2.将值返 回

类:是一类东西
自定义一个数据类型 (属性, 方法)

    public class Cat {
        private String name;
        private int age;
        private Boolean sex;
        private String pin; 

public Cat(Boolean sex){
    this("未知",-1,sex,"未知"); //this代表类
}//构造函数,可用构造函数传递参数

public Cat(Boolean sex,String pin){
    this("未知",-1,sex,pin);  
}

public Cat(int age,Boolean sex,String pin){
    this("未知",age,sex,pin); 
}

//构造函数
public Cat(String name,int age,Boolean sex,String pin){
    this.name=name;
    this.age=age;
    this.sex=sex;
    this.pin=pin;
}//构造函数,不用this会不知道传给谁

//写函数,setName是习惯用法
public void setName(String name){
    this.name=name;
}
public void setAge(int age){
    this.age=age;
}
public void setSex(Boolean sex){
    this.sex=sex;
}
public void setPZ(String pin){
    this.pin=pin;
}
//读函数
public String getName(){
    return name;
}
public int getAge(){
    return age;
}
public boolean getSex(){
    return sex;
}
public String getPZ(){
    return pin;
}

    }
    //普通函数
public void mao(){
    System.out.println(name+"出现了");
    dz();
}

public void dz(){
    System.out.println("请输入动作");
    Scanner in =new Scanner(System.in);//输入
    String dz = in.nextLine();//输入
    if(dz.equals("摸摸")){
    System.out.println(name+"喵喵喵");
    }else if(dz.equals("信息")){
        xinxi();
    }else if(dz.equals("不玩了")){
        System.out.println(name+"走了");
        return;
    }else{
        System.out.println(name+"不理你");
    }
    System.out.println("-------");
    dz();
}

public void xinxi(){
    System.out.println("________________");
    System.out.println("|猫的名字|"+name);
    System.out.println("|猫的品种|"+pin);
    System.out.println("|猫的年龄|"+age);
    if(sex){
    System.out.println("|猫的性别|母");
    }else{
        System.out.println("|猫的性别|公");
    }
    System.out.println("________________");
}


}

类名 对象名= new 类名();//定义变量并分配内容赋初始值
Cat mao1 = new Cat(“咪咪”,1,false,”英国短毛猫”);
Cat mao2 = new Cat(“煤碳”,2,true,”暹罗猫”);//类
Cat mao3 = new Cat(true);
mao3.setName(“小花”);
mao3.setAge(1);//写函数的用法

访问修饰符;
public:公开(公有的) ,所有人都可以访问, 用来修饰方法
public Cat(String name,int age,Boolean sex,String pin){
this.name=name;
this.age=age;
this.sex=sex;
this.pin=pin;
}
//写函数
public void setName(String name){
this.name=name;
}

private:私有的,只能类本自身访问,用来修饰属性,只能在类的内部使用
private String name;
private int age;
private Boolean sex;
private String pin;

构造函数:没有返回值类型, 名子与类名相同, 访问修饰符为public
1.默认构造函数:无参的
2.自函定义的构造函数:只要有一个自定义的构造函数,默认构造函数不存在
public 类名(){}
构造函数可以有多个,只要是 参数不同就是不同的构造函数
构造函数在new时被调用
封装:方法公有化, 属性私有化

this: 当前对象
this.属性名
this(参数); //调用构适函数,必须放在造构函数的开头

读写方法:
get读方法
public 类型 get属性名(){

            return 属性名;
        }
    set写方法
        public void  set属性名(类型 变量名){

            this.属性名 = 变量名;
        }

    注:  类型与属性的类型相同
            get属性名,set属性名:属性名开头字母大写





    猫的类
--------------      


package MyJava;

import java.util.Scanner;

public class MyMain {

public static void main(String[] args) {
    // 猫
    Cat mao1 = new Cat("咪咪",1,false,"英国短毛猫");
    Cat mao2 = new Cat("煤碳",2,true,"暹罗猫");
    Cat mao3 = new Cat(true);

    mao3.setName("小花");
    mao3.setAge(1);


    for(int i=0;i<10;){
    System.out.println("-----");
    System.out.println("要找第几只猫?");
    Scanner in = new Scanner(System.in);
    int num = in.nextInt();
    switch(num){
        case 0 :i=11;break;
        case 1 :mao1.mao();break;
        case 2 :mao2.mao();break;
        case 3 :mao3.mao();break;
        default:
            System.out.println("没有那么多猫,换一只吧");
            System.out.println("结束输入0");
            break;
    }
}
    System.out.println("结束了");
}

}

package MyJava;
import java.util.*;
public class Cat {
private String name;
private int age;
private Boolean sex;
private String pin; 

public Cat(Boolean sex){
    this("未知",-1,sex,"未知"); 
}

public Cat(Boolean sex,String pin){
    this("未知",-1,sex,pin);  
}

public Cat(int age,Boolean sex,String pin){
    this("未知",age,sex,pin); 
}

//构造函数
public Cat(String name,int age,Boolean sex,String pin){
    this.name=name;
    this.age=age;
    this.sex=sex;
    this.pin=pin;
}
//写函数
public void setName(String name){
    this.name=name;
}
public void setAge(int age){
    this.age=age;
}
public void setSex(Boolean sex){
    this.sex=sex;
}
public void setPZ(String pin){
    this.pin=pin;
}
//读函数
public String getName(){
    return name;
}
public int getAge(){
    return age;
}
public boolean getSex(){
    return sex;
}
public String getPZ(){
    return pin;
}


//普通函数
public void mao(){
    System.out.println(name+"出现了");
    dz();
}

public void dz(){
    System.out.println("请输入动作");
    Scanner in =new Scanner(System.in);
    String dz = in.nextLine();
    if(dz.equals("摸摸")){
    System.out.println(name+"喵喵喵");
    }else if(dz.equals("信息")){
        xinxi();
    }else if(dz.equals("不玩了")){
        System.out.println(name+"走了");
        return;
    }else{
        System.out.println(name+"不理你");
    }
    System.out.println("-------");
    dz();
}

public void xinxi(){
    System.out.println("________________");
    System.out.println("|猫的名字|"+name);
    System.out.println("|猫的品种|"+pin);
    System.out.println("|猫的年龄|"+age);
    if(sex){
    System.out.println("|猫的性别|母");
    }else{
        System.out.println("|猫的性别|公");
    }
    System.out.println("________________");
}


}

代码显示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值