18.泛型收尾,Scala,线程

 

泛型重载时的问题

 

方法的名称相同,参数不同,为啥报错?

18.泛型收尾,Scala,线程_第1张图片

 

答:因为泛型有一个重要特性,类型擦除,指定的泛型类型的确不一样,但是编译时都被擦除为Object了。

如何解决这个问题呢?把声明对象引用的类型写成?通配符就OJBK了。

 

 

Scala

 

纯面向对象语言,应用函数编程思维,可以调用java语言的类库

 18.泛型收尾,Scala,线程_第2张图片

 

 

线程的执行

 

1.线程执行没有顺序

2.线程执行的两种方式:一是实现Runnable接口,二是通过继承Thread类复写里面的run方法

import org.junit.Test;
public class ThreadDemo{
	@Test
	public void test1() {
		/**
		 * first Thread-0 Thread-3 Thread-1 Thread-2 Thread-4
		 * second Thread-1 Thread-2 Thread-3 Thread-0 Thread-4
		 * 线程执行没有顺序。
		 * 1.线程如何执行(JAVA中不涉及底层)
		 *  1.1 Thread t1=new Thread(Runnable run);通过实现Runnable接口 
		 *  1.2 Thread t1=new Thread(){
		 *  	@Override
		 *  	public void run(){
		 *  		xxx
		 *  	}
		 *  };
		 *  通过继承Thread类覆写里面的run方法
		 *  线程默认命名是:Thread-i
		 */
		Thread t1=new Thread(new Runnable() {
			
			@Override
			public void run() {
				// TODO Auto-generated method stub
				System.out.println(Thread.currentThread().getName());
			}
		});
		t1.setName("实现runnable");
		t1.start();
		Thread t2=new Thread() {
			@Override
			public void run() {
				System.out.println(Thread.currentThread().getName());
			}
		};
		t2.setName("继承thread覆写run");
		t2.start();
	}
}

 

你可能感兴趣的:(猴子的Java学习笔记)