1. 使用匿名内部类创建线程的原理和普通类创建线程原理完全一样
    2. 区别在于利用匿名内部类创建线程的写法更加的简洁

    写法:

    1. package Test21_Demo.Demo11;/*
    2. @create 2020--12--14--16:08
    3. */
    4. public class AnonysThreadDemo {
    5. public static void main(String[] args) {
    6. //方式一:使用匿名内部类创建线程的子类对象
    7. new Thread(){
    8. @Override
    9. public void run() {
    10. System.out.println("匿名内部类1");
    11. }
    12. }.start();
    13. System.out.println("-------------------------");
    14. //使用匿名内部类创建线程的匿名子类对象,并且启动线程
    15. new Thread(){
    16. @Override
    17. public void run() {
    18. System.out.println("匿名内部类2");
    19. }
    20. }.start();
    21. //方式二:组合写法 - 精简写法
    22. new Thread(new Runnable(){
    23. @Override
    24. public void run() {
    25. System.out.println("方式二1");
    26. }
    27. }).start();
    28. //方式二:使用匿名内部类的方式,创建执行目标类的对象
    29. Runnable r = new Runnable() {
    30. @Override
    31. public void run() {
    32. System.out.println("方式二2");
    33. }
    34. };
    35. //传入到构造函数
    36. Thread t2 = new Thread(r);
    37. t2.start();
    38. //组合写法
    39. Thread t3 = new Thread(new Runnable() {
    40. @Override
    41. public void run() {
    42. System.out.println("方式二3");
    43. }
    44. });
    45. t3.start();
    46. }
    47. }