从入门到放弃的第二周(面向对象)......day.6.。。。。。对象,类,方法;


1,对象与类
2,类的组成
3.声明类
4,通过类创建对象
5,如何访问对象的属性,方法
6,方法的概念,声明与调用,传参(重点)

 

 

1,对象与类
Object Class
类是具有相同特征和行为的抽象模板,对象是类的一个具体实现(实例 instance)

 

 

2,类的组成:
属性和方法,代码块,内部类..

 

 

3,声明类(自定义数据类型)
class 类名{}
一个Java文件可有有一个多个Java类,但是最多只有一个public类,而且该类的名称与文件名相同

 

 

4,通过类创建对象
new 构造方法();

 

 

5,访问(access)属性或方法
如果没有为属性显式赋值,则属性有默认值
使用.操作符 访问对象的属性和方法
访问属性或方法之前,对象不能为null(空对象,意味着未分配空间)

 


定义一个代表电脑的类,属性品牌(brand),CPU,尺寸
定义一个测试类,创建两台电脑,将其中的属性赋值,最后输出

public class Diannao {
     String pp;
     String cpu;
     int cc;

}

  

 

 

6,方法的概念
减少重复代码,可以提供系统的可维护性

 

 

7,语法
访问控制修饰性 返回值的数据类型 方法名(参数列表){
方法体;
}

 


8,方法传参


形式参数(形参):方法的参数列表中声明的参数
实际参数(实参):传给方法参数的表达式或变量
实际参数和形式参数,名字没关系,要匹配的是数据类型,数量,顺序

如果参数是基本数据类型,按照传值方式
如果参数是引用数据类型,按照传址方式


9,作用域 Scope
方法中声明的变量(方法体,参数)只能在该方法中使用

分支结构与循环

 

 

10,可变长度的参数
语法:int... num
可变长度参数最多一个且只能出现在参数列表的末尾

调用:
不传参数
传一个
传多个,以逗号隔开
传数组


 

课堂练习:
1, 计算两个整数之和 
2, 判断一个整数是否一个整数数组中
boolean isExists(int num,int[] nums){
}
3, 判断两个整数数组是否相等
4,计算两个整数数组之和,返回类型是数组
public int[] add(int[] nums1,int[] nums2){

}
5,将一个数组倒置

6,计算两个整数数组合并为升序数组中的中位数
{1,4,8,9,3,5}
{3,6,8,4,5,9,10}

{1,3,3,4,5,6,6,9,9,10}

7, 实现以下功能: 
7.1 声明一个产品(Product)类,声明其属性(编号:no,名称:name,库存:stock)
7.2 声明一个仓库(Storage)类,属性为大小为10的产品数组
在Storage类中,有如下方法:
入库:参数是产品,将其存入产品数组中,如果其中无该产品且数组有空间存储,则加到数组中,
存在该产品,则更新其库存
出库:参数是产品名和数量,先查询是否存在该产品,
如果存在:
则判断出库数量是否小于或等于其库存,符合条件则减少其库存,否则不作操作,仅提示
如果不存在该产品,则不做操作,仅提示
盘点:输出仓库中所有产品的信息

 

public class Stoarg {

	String[] x = new String[10];
	int[] y = new int[10];

	public void add(Product p) {

		for (int i = 0; i < 10; i++) {
			if (x[i] == p.name) {
				y[i]++;
				p.stock++;
			} else if (x[i] == null) {
				x[i] = p.name;
				y[i]++;
				p.stock++;
				break;
			}
		}
	}
	public void chuku(String name, int num) {

		for (int i = 0; i < 10; i++) {
			if (x[i] == name) {
				if (y[i] >= num) {
					y[i] -= num;

					break;
				} else {
					System.out.println("shuliangbuzu");
					break;
				}
			}
		}
	}

	public void xianshi() {

		for (int i = 0; i < 10; i++) {
			System.out.print(x[i] + " " + y[i] + "   ");
		}
	}
}

  

public class Product {
       int no;
       String name;
       int stock;
       
}

  

public class Producttest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
             Product bx=new Product();
             bx.name="冰箱";
             bx.no=1;
             bx.stock=0;
             
             Stoarg a=new Stoarg();
             a.xianshi();
             a.add(bx);
             System.out.print("\n");
             a.xianshi();
             
             a.chuku(bx.name, 1);
            // a.xianshi();
             
            
             Product ds=new Product();
             ds.name="电视";
             ds.no=1;
             ds.stock=0;
              
             System.out.print("\n");
             a.xianshi();
             a.add(ds);
             System.out.print("\n");
             a.xianshi();
	
             System.out.print(bx.stock);	
	}
}

  

 概念性的东西开始偏多了(哎。。。。。。。。。。。。。。。。)

                                 

猜你喜欢

转载自www.cnblogs.com/suxiao666/p/11329395.html
今日推荐