Java 类/对象/方法组织混乱

Java 类/对象/方法组织混乱,java,class,object,methods,arraylist,Java,Class,Object,Methods,Arraylist,我是从Java开始的,所以组织代码以使其具有内聚性的想法还不是很自然。本质上,我有一个ArrayList,它有一个填充它的方法,另一个洗牌它,然后是一个测试程序,看看这是否有效。我的问题是如何组织它。根据我的经验,方法之间并不能真正看到彼此的本质,因此我将其组织如下: Class ArrayList (named al) Tester Method Shuffle Method ArrayList Population Method 我的麻烦是这样的;在t

我是从Java开始的,所以组织代码以使其具有内聚性的想法还不是很自然。本质上,我有一个ArrayList,它有一个填充它的方法,另一个洗牌它,然后是一个测试程序,看看这是否有效。我的问题是如何组织它。根据我的经验,方法之间并不能真正看到彼此的本质,因此我将其组织如下:

Class
    ArrayList (named al)

    Tester Method

    Shuffle Method

    ArrayList Population Method
我的麻烦是这样的;在tester方法中,我如何使ArrayList执行在方法中为其定义的操作。我曾经使用过构造函数和对象,但它们似乎并不真正适用,至少到目前为止我是这样做的。我以为会是这样

al.Shuffle();
但是它到处都是错误。有人有什么见解吗

编辑:根据要求,这里是代码

package deckofcards;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
class Deck{
    ArrayList<String> al = new ArrayList<String>();
    //test method
    public void main(String[] args){
         Scanner input = new Scanner(System.in);
         al.Deck();
         //didn't get any further, that threw a "cannot find symbol" error
         }
    }
    private void Shuffle(){
         Collections.shuffle(al);
    }
    private void Deck(){
         al.add(0, "Ace of Spades");
         //and this goes on for a deck of cards
    }
 }
包装卡;
导入java.util.ArrayList;
导入java.util.Collections;
导入java.util.Scanner;
甲板{
ArrayList al=新的ArrayList();
//试验方法
公共void main(字符串[]参数){
扫描仪输入=新扫描仪(System.in);
al.Deck();
//没有任何进一步的操作,这抛出了一个“找不到符号”错误
}
}
私有无效洗牌(){
收藏。洗牌(al);
}
私人空甲板(){
al.添加(0,“黑桃王牌”);
//接下来就是一副牌
}
}

定义另一个扩展
ArrayList的类

public class MyArrayList extends ArrayList<Object> {

    public MyArrayList(){
        super();
    }

    public MyArrayList shuffle(MyArrayList mal){
        Collections.shuffle(mal);
        return mal;
    }

}

在组件中,类是保存组件其余部分的主要组件,然后方法是类可以执行的任务或操作

ArrayList
是一种数据结构,用于保存具有特定结构的数据。哪个类可以使用它

所以你的性高潮可能是这样的:

class MyClass {

    private ArrayList<String> list = new ArrayList<String>();

    public static void main(String[] args) {//Tester Method is the main method, because the execution began from here
    }


    private void populate() {
        //
    }        

    private void shuffle() {
        //
    }
}
class-MyClass{
private ArrayList list=new ArrayList();
publicstaticvoidmain(String[]args){//Tester方法是主要方法,因为执行从这里开始
}
私有void填充(){
//
}        
私有无效洗牌(){
//
}
}

将您的arraylist设置为类的一个字段,并在您的方法中使用它执行所有类型的操作?很抱歉,我无法了解未列出代码的未列出错误。私有void Deck()方法也可以在类之外吗?您不能在类之外有一个方法,因为方法是类可以执行的行为或操作。好的,我目前有类似格式的代码(见上文,用完整代码编辑),但现在在Tester方法中,如何调用arraylist上的方法,即al.method();没有工作我甚至不知道这是可能的,我将不得不查找如何做到这一点我遇到的问题是
al.shuffle(al)正在给出“找不到符号符号:方法洗牌(ArrayList)位置:ArrayList类型的变量al”是否运行了我的代码?这是一个完整的可编译项目。
class MyClass {

    private ArrayList<String> list = new ArrayList<String>();

    public static void main(String[] args) {//Tester Method is the main method, because the execution began from here
    }


    private void populate() {
        //
    }        

    private void shuffle() {
        //
    }
}