java-4

1.类

类是由属性和方法组成的,属性中定义类的具体信息(变量),方法是一些操作的行为,对象则是类的实例化。

复制代码
class ElectricBowl 
{
    String brand;
    double volume;
    String color;
}
//新建一个类
复制代码
复制代码
class  Test
{
    public static void main(String[] args) 
    {
        ElectricBowl gree = new ElectricBowl(); 
        //同包内直接引用类,新建对象,实例化类
        gree.brand = "格力";//定义对象属性
        gree.volume = 2;
        gree.color = "黑色";
        System.out.println(gree.brand+gree.volume+gree.color);
    }
}
    
复制代码
复制代码
class  Car
{
    String brand;
    double displacement;
    String type;
    public String test(){ //新建一个方法
        return brand+displacement+type;
    }
}
复制代码
复制代码
class  Test
{
    public static void main(String[] args) 
    {
        Car tesla = new Car();
        tesla.brand = "特斯拉";
        tesla.displacement = 0;
        tesla.type = "电动车";
        String sum = tesla.test(); //利用对象调用方法
        System.out.println(sum);
    }
}
复制代码

2.ArrayList 集合

ArrayList是一个可变长度的数组,数组长度随着元素的增加而增加,集合内可放入数据以及对象。

复制代码
import java.util.ArrayList; //导包
class  Test
{
    public static void main(String[] args) 
    {
        ArrayList<String> car = new ArrayList<String>();
                //泛型,<>内填写引用数据类型,只有此类元素可以放入集合内
                //Integer,Byte,Short,Long,Float,Double,Character,Boolean
        car.add("大众"); //向集合内添加元素,注意,是添加至集合末尾
        car.add("福特");
        car.add("丰田");
        car.add("吉利");
        car.add("比亚迪");
        for(int i=0;i<car.size();i++){ //size()方法返回集合长度
            System.out.println(car.get(i));//get()方法返回指定下标元素
    }
}
复制代码

集合内放入对象:

复制代码
class  Students
{
    String name;
    int age;
    char sex;
}
复制代码
复制代码
import java.util.ArrayList; 
class  Test
{
    public static void main(String[] args) 
    {
        Students wizard = new Students();
        wizard.name = "Harry";
        wizard.age = 17;
        wizard.sex = '男';
        Students assassin = new Students();
        assassin.name = "Ezio";
        assassin.age = 20;
        assassin.sex = '男';
        Students mechanic = new Students();
        mechanic.name = "Windy";
        mechanic.age = 15;
        mechanic.sex = '女';
        ArrayList<Students> students = new ArrayList<Students>();
        students.add(wizard);
        students.add(assassin);
        students.add(mechanic);
        for(int i=0;i<students.size();i++){
            System.out.print(students.get(i).name+'	'+students.get(i).age+'	'+students.get(i).sex);//注意,此处如果输出get(i),则返回对象的内存地址
            System.out.println("");
        }
}
复制代码

常用方法:

add(数据); 添加元素。

add(下标,数据); 在指定下标位置添加元素,前提是该下标存在,否则数组下标越界错误。

set(下标,数据) 修改指定下标位置的元素。

remove(下标); 删除指定下标位置元素。

clear(); 清空数组中所有元素。

注意!当把主方法内的集合作为参数传入其他方法时,如果集合添加了泛型,请务必如在定义方法形参时加上泛型,否则编译报错:

原因在于在主方法内,用一个参数引用了集合,如果在主方法内用参数名.get().属性 完全没有问题,但是如果当做参数传入其他方法,

形参只写ArrayList 形参名 ,则形参指向不明,在Eclipse内会黄线警告,提示集合未实例化,而传入的集合指向不明,所以无法读取其内部元素的属性。

正确书写方式:

复制代码
import java.util.Scanner;
import java.util.ArrayList;
public class  kucun{
     public kucun(String cname,double csize,double cprice,int cinventory){
        pname = cname;
        size = csize;
        price = cprice;
        inventory = cinventory;
    } //有参构造方法,实例化对象时默认调用该方法,不定义则默认使用无参构造方法
     public static void CheckInventory(ArrayList<kucun> product){  //有泛型一定要把泛型写上!!
            int tinventory = 0;
            double tprice = 0;
            System.out.println("------------------"+"商城库存清单"+"------------------");
            System.out.println("");
            System.out.println("商品编号"+'	'+"品牌型号"+'	'+'	'+"尺寸"+'	'+"价格"+'	'+"库存数");
            for(int j=0;j<product.size();j++){
                System.out.println((j+1)+"  "+'	'+product.get(j).pname+'	'+product.get(j).size+'	'+product.get(j).price+'	'+product.get(j).inventory);
            }
            System.out.println("-----------------------------------------------");
            for(int i=0;i<product.size();i++){
                tinventory+=product.get(i).inventory;
                tprice+=product.get(i).price;
            }
            System.out.println("总库存数:"+tinventory);
            System.out.println("库存商品总额:"+tprice);
    }
    public static void main(String[] args){    
        kucun mba = new kucun("MacBOOKAir",13.3,6988.88,5);
        kucun tp = new kucun("ThinkpadT450",14.0,5999.99,10);
        kucun asus = new kucun("ASUS-FL5800",15.6,4999.5,18);
        ArrayList<kucun> product = new ArrayList<kucun>();
        product.add(mba);
        product.add(tp);
        product.add(asus);
        CheckInventory(product);
    }
}
复制代码
原文地址:https://www.cnblogs.com/wangnatian/p/8681876.html