Java中怎样import自己写的class
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中怎样import自己写的class相关的知识,希望对你有一定的参考价值。
在创建的一个project里,我建了不同的class,比如第一个是创建红绿灯,第二个是一个计算器。
我在第3个class里,有两个选择让用户选,选1就是运行第一个红绿灯,选2就是使用那个计算器, 那么怎么import第一个和第二个class呢?
我用直接创建object的办法,没成功. 比如,第一个class叫light, 用户选1我就light choose1 = new light(); 但是这样什么反映都没
这是我的第3个class
import javax.swing.JOptionPane;
import javax.swing.JFrame;
public class problem3
JFrame myFrame;
int messageType = JOptionPane.QUESTION_MESSAGE;
String[] options = "Enter Personal Details", "Doing Calculation", "Traffic Light";
public problem3()
int choose = JOptionPane.showOptionDialog(myFrame,
"What one do you prefer?",
"Option Dialog Box", 0, messageType,
null, options,null);
if(choose==0)
if(choose==1)
CalculatorP2 choose2 = new CalculatorP2();
if(choose==2)
lightP1 choose3 = new lightP1();
/** Main method */
public static void main(String[] args)
problem3 choice=new problem3();
我现在已经把它们放在PACKAGE里面了
名字叫package com.ass2;
在第三个类里import com.ass2.*;
但是还是不成功
在第三个类中加上package com;
然后再在第一个类和第二个类也分别加入package com;
在第三个类中想使用前面两个类时
你只需要简单的引入就可以了import com.*;表示引入该包中的所有类即可. 参考技术A 可以把你要导入的两个类放在同一个包里,比如:org.test。在使用第三个类时在其第一行加入import org.test.*;后面加*表示把org.test这个包中的所有类都加载进来,一般情况下不这样做,因为如果在一个包内有很多类的话,那就会导入很多我们没有用的类进来,这样显得很多余,而且会影响一定的效率。通常用的办法是在第三个类的第一行加入:import org.test.+类名,如果你的第二个类叫:Calculator,那么就应该加入:import org.test.Calculator;这样就可以把这个类引进来了本回答被提问者和网友采纳
java中怎样把输入的基本英文单词按首字母顺序排列?
import java.util.ArrayList;import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
* 规则:大写字母前于小写字母
*
* @author Administrator
*
*/
public class SortWords
private static final String[] array = "A", "B", "C", "D", "E", "F", "G",
"H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y", "Z" ;
public static void main(String[] args)
SortWords sw = new SortWords();
List<String> words = new ArrayList<String>();
words.add("book");
words.add("ear");
words.add("alert");
words.add("choice");
words.add("name");
words.add("memery");
words.add("fight");
words.add("call");
words.add("joy");
List<String> list = sw.sort(words, "forward");
for (String str : list)
System.out.println(str);
public List<String> sort(List<String> words, String type)
List<Word> list = new ArrayList<Word>();
List<String> res = new ArrayList<String>();
for (String word : words)
Word w = indexNum(word);
list.add(w);
switch (type)
case "forward":
Collections.sort(list, new Forward());
for (Word w : list)
res.add(w.getContent());
break;
case "back":
Collections.sort(list, new Back());
for (Word w : list)
res.add(w.getContent());
break;
return res;
public Word indexNum(String word)
String[] letters = word.split("");
String res = "";
Word w = new Word();
String letter = word.substring(0, 1);
for (int i = 0; i < array.length; i++)
String pattern = array[i];
if (letter.equalsIgnoreCase(pattern))
res += i;
break;
w.setContent(word);
w.setIndexNum(Integer.parseInt(res));
return w;
private class Forward implements Comparator
@Override
public int compare(Object arg0, Object arg1)
Word w1 = (Word) arg0;
Word w2 = (Word) arg1;
int flag = w1.getIndexNum() - w2.getIndexNum();
return flag;
private class Back implements Comparator
@Override
public int compare(Object arg0, Object arg1)
Word w1 = (Word) arg1;
Word w2 = (Word) arg0;
int flag = w1.getIndexNum() - w2.getIndexNum();
return flag;
class Word
private String content;
private Integer indexNum;
public String getContent()
return content;
public void setContent(String content)
this.content = content;
public Integer getIndexNum()
return indexNum;
public void setIndexNum(Integer indexNum)
this.indexNum = indexNum;
参考技术A 用list集合试试。list集合是里放的是有顺序并且重复的东西。。 参考技术B java中把排序查找等一系列算法都封装再一个叫collections的类里面有了,所以你把输入的字母存在数组或其他集合中,然后直接一句collections.sort();就排好了,你参考javaAPI中对这个类的详解会更吃惊的,呵呵呵 参考技术C ASC码是按字母序的 所以你可以用asc码来排序
以上是关于Java中怎样import自己写的class的主要内容,如果未能解决你的问题,请参考以下文章