java基础入门Day11+Day11+Day13

目录

一、从现实世界抽象出类:

二、类图:

三、构造方法:

四、方法重载:

五、静态修饰符:

六、封装:

七、总结:


一、从现实世界抽象出类:

1、如何在计算机中描述他们? 

(1)找出它的种类

(2)找出它的属性

(3)找出它的行为

例如:

2、练习

(1)狗狗类

/**
 * 狗狗类
 */
public class Dog {
    public String name="旺财";//昵称
    public int health=100;//健康值
    public int love=100;//与主人的亲密度
    public String stain="拉不拉多";
    public void run(){
        System.out.println("跑呀跑");
    }
    public void print(){
        System.out.println("我的名字是:"+name+"\t健康值为:"+health+"\t与主人的亲密程度为:"+love+"\t我的品种是:"+stain);
    }
}

(2)企鹅类


/**
 * 企鹅类
 */
public class Penguin {
    public String name="楠楠";//昵称
    public int health=100;//健康值
    public int love=100;//与主人的亲密度
    public String sex;
    public void print(){
        System.out.println("我的名字是:"+name+"\t健康值为:"+health+"\t与主人的亲密程度为:"+love+"\t我的性别是:"+sex);
    }
}

(3)测试类

import java.util.Scanner;

/**
 * 测试类
 */
public class Test {
    public static void main(String[] args) {
        Penguin penguin=new Penguin();
        System.out.println("欢迎来到宠物商店!");
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入要领养宠物的名字:");
        String name=sc.next();
        System.out.println("请选择要领养的宠物类型,(1、狗狗 2、企鹅)");
        int type=sc.nextInt();
        Dog dog=new Dog();
        dog.name=name;
        System.out.println("宠物的自白:");
        if(type==1){
            dog.print();
        }else if(type==2){
            System.out.println("请选择企鹅的性别:(1、Q仔 2、Q妹)");
            int sex=sc.nextInt();
            if(sex==1){
                penguin.sex="Q仔";
            }else if(sex==2){
                penguin.sex="Q妹";
            }
            penguin.print();
        }
    }
}

二、类图:


三、构造方法:

1、构造方法的属性

(1)构造方法没有返回值

(2)构造方法名 必须与类名相同

(3)构造方法不能像普通方法那样被调用 构造方法在new对象时被调用

(4)如果没有创建构造方法 系统默认给我们一个不带参数的构造方法

(5)如果已经创建了构造方法 系统就不会再给我们创建无参数的构造方法

  

(6)一般可以通过构造方法赋值

四、方法重载:

1、方法重载

(1)普通方法和构造方法都可以重载

(2)与返回值无关  因为:普通方法有返回值 ,构造方法没有返回值 

(3)方法名必须相同 才能重载

(4)与修饰符无关  例如:一个方法是public 一个是protected

(5)参数列表个数不同 或者参数类型不同 与变量名没有任何关系

(6)案例开发一个需求工程,就要查一个数据,有时候没有传值,有时候传一个值,有时候传多个值。

五、静态修饰符:

(1)静态代码在类加载之前被调用 static属于类

 

(2)本类中的普通方法可以调用静态属性和非静态属性。 

(3)静态方法中,只能访问静态修饰的属性,不能访问非静态修饰的属性。

(4)不管是普通方法还是静态方法都可以定义普通属性(非static修饰的属性),不可以定义static修饰的属性。因为:static属于类

(5)静态方法不能使用this和super

六、封装:

1、封装的概念

       将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

2、封装的好处

(1)只能通过规定方法访问数据

(2)方便加入控制语句

(3)方便修改实现

(4)隐藏类的实现细节 

3、封装的步骤

(1)修改属性的可见性 设为private

(2)创建共有的getter/setter方法 用于属性的读写

(3)在getter/setter方法中加入属性的控制语句 对属性的合法性进行判断

七、总结:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值