1、枚举:
(1)For(Colorc:Color.values()); //获取Color枚举中所有对象;
这个语句遍历枚举color中的所有的对象;
(2)枚举中的构造函数不能为public,因为外部的类不能调用枚举的构造函数
如下代码:
enum enum2{
//下面这三个对象必须写在枚举内部的第一行,否则出错
Red("红色"),Green("绿色"),Black("黑色");
private String name;
void setName(String name)
{
this.name=name;
}
String getName()
{
return this.name;
}
//构造函数,不能为public,因为不能让外部类调用
enum2(String name)
{
this.setName(name);
}
}
public class enum1
{
public static void main(String args[])
{
//循环输出枚举中的对象的值;
for(enum2 e:enum2.values())
{
System.out.println(e.getName());
}
}
}
2、关于@override:
用来表示该方法是覆写父类中的方法;
@override//放到需要覆写的函数前面即可
public void set()
{
this.name=name;
}
3、多线程的两种机制:
(1)继承Thread实现(少用,各个线程不能共享资源):
如下代码:
class threadTest2 extends Thread
{
public void run()
{
for(int i=0;i<10;i++)
{
System.out.println("threadTest2 is running");
}
}
}
public class ThreadTwo {
public static void main(String[] args) {
//通过调用start来调用run()
threadTest2 t=new threadTest2();
//下面的程序出现异常:一个线程只能启动一次
t.start();
// t.start();
// t.start();
// t.start();
/*下面的是4个线程,但是各自执行各自的操作
* new threadTest2().start();
* new threadTest2().start();
* new threadTest2().start();
* new threadTest2().start();
*/
for(int i=0;i<10;i++)
{//此时程序threadTest2和main语句循环输出
System.out.println("Main is running");
}
}
}
(2)通过Runnable接口实现多线程(常用,多个线程可以共享同一个资源):
下面是4个售票点同时卖票的例子(4个线程共享同一个资源):
如下代码:
class threadTest implements Runnable
{
public void run()
{
for(int i=0;i<10;i++)
{
System.out.println(Thread.currentThread().getName()+"出票");
}
}
}
public class ThreadOne {
public static void main(String[] args) {
threadTest t=new threadTest();
//启动了4个线程,共享同一个资源
new Thread(t).start();
new Thread(t).start();
new Thread(t).start();
new Thread(t).start();
}
}