面向对象2

面向对象2

前言

1、 假设数据库存有如下数据{“苹果”,“橘子”,“芒果”,“哈密瓜”,“柚子”,“牛油”,“车厘子”,“鹰嘴桃”,“阳光提”},请设计一个类用于对数据操作。如:查询数据中是否有西梅
    
  /**
  *设计类
  */
public class fruit(){
	String name;
	String size;
	String color;
	
    //这里涉及到静态static
	static String [] = {"",""}
	
// 判断是否有水果
    public boolean findIsFruit(String name) {
        boolean flag = true;
        //遍历数组
        for (int i = 0; i < f.length; i++) {
            if (f[i].equals(name)){
                System.out.println("仓库里有"+name);
                break; 
            }else{
                System.out.println("仓库中没有"+name);
                flag = false;
                //这里一定需要加入break 不然会一直循环
                break;
            }
        }
        return flag;
    }
    public Fruit() { }//默认构造函数

    public Fruit(String name, String color, double price) {
        this.name = name;
        this.color = color;
        this.price = price;

    }
}


/**
*测试类
*/
public static void main(String[] args) {
        Fruit fruit = new Fruit("苹果","red",38);
        // 调用Fruit类中查询仓库中是否有该水果的方法,需要传入参数
        boolean res = fruit.findIsFruit("西梅");
        System.out.println(res);
    }

1.构造方法

构成方法重载的条件是什么?

1.方法名称必须相同。

2.参数列表必须不同(个数不同、或类型不同、参数类型排列顺序不同等)。

3.方法的返回类型可以相同也可以不相同。

4.仅仅返回类型不同不足以成为方法的重载。

5.重载是发生在编译时的,因为编译器可以根据参数的类型来选择使用哪个方法。

构造方法的重载的条件是什么?

如果自定义了带参构造方法,还要使用无参数构造方法,就必须再写一个无参数构造方法

推荐的使用方式?

无论是否使用,都书写无参数构造方法,和带参数构造方法。

public class fruit(){
	String name;
	String size;
	String color;
	
	static String [] = {"",""};
	
	//带参数的构造放法  
	public fruit(String name,String size,){
		this.name=name;
     	this.size=size;
        this.color=color;
	}
 //需要写一个无参的构造方法 
 public fruit(){ }
}

构造方法有什么用?

  1. 给属性赋值
  2. 创建对象(new)

2.封装、继承、多态、抽象类

2.1封装

Q1:是什么?

找对象,掉方法 对象:new的对象 方法:对数据的操作

Q2:步骤

class student{
 //1.private关键字来修饰成员变量(限制队属性的访问)
private  int id;
private  String name;
private  String sex;
private  String addr;
 //私有只能在本类里使用 不能调用 对信息进行的隐藏
 //需要暴露出来

 //2.使用public修饰getter和setter方法【Alt+Insert】
 public void setName(String name){
     this.name = name;
 }
 public String getName(){
     return name;
 }
}

Q3:有哪些体现?

1、将代码抽取到方法中,这是对代码的一种封装

2、将属性抽取到类当中,这是对数据的一种封装

隐藏实现细节,仅对外暴露公开的访问方式

封装的好处:

1、提高了代码的安全性

2、提高了代码的复用性

JavaBean

当一个类里面的所有成员全部被私有化,而且提供了get和set方法,我们把这种类叫做JavaBean。

2.2对象

是什么?

类里面具体的属性

另外:

面向对象之前都在一个类里面,左边是代码 右边模拟用户
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值