zoukankan      html  css  js  c++  java
  • java基础

    动态代理

    枚举  (Enum类)

    反射

    多线程(Thread和Runnable的区别

    构造方法

    java的main方法

    java中static ,final

    synchronized--多线程中的同步  - 在编写一个类时,如果该类中的代码可能运行与多线程环境下,就要考虑同步问题了。会同时被多个线程访问的资源,就是竞争资源,也称为竞争条件。对于多线程共享的资源我们必须进行同步,以避免一个线程的改动被另一个线程所覆盖。

    成员变量与局部变量:

                            1、成员变量:在类体中定义的变量为成员变量,作用范围(scope)是整个类,只要在这个类中都可以访问到它。

                            2、局部变量:在一个方法或方法中的代码块(code block)中定义的变量。局部变量是在方法或代码块被执行的时候被创建,在方法或代码块结束时被销毁。局部变量在进行取值操作前必须被初始化或赋值,否则出现编译错误。

    对象---“按照通俗的说法,每个对象都是某个类(class)的一个实例(instance),这里,‘类’就是‘类型’的同义词。”

           从这一句话就可以理解到对象的本质,简而言之,它就是类的实例,比如所有的人统称为“人类”,这里的“人类”就是一个类(物种的一种类型),而具体到每个人,比如张三这个人,它就是对象,就是“人类”的实例。

    Java类和对象 详解(一)---https://blog.csdn.net/wei_zhi/article/details/52745268

    Spring实战】----spring security4.1.3配置以及踩过的坑------https://blog.csdn.net/honghailiang888/article/details/53520557

    Re:从零开始的Spring Security Oauth2(一)-----https://blog.csdn.net/u013815546/article/details/76898524

    《Java编程思想》阅读笔记一----https://www.cnblogs.com/cpacm/p/5568405.html

    再读《Java编程思想 》--https://blog.csdn.net/honghailiang888/article/details/70310887

    java动态代理实现与原理详细分析------https://www.cnblogs.com/gonjan-blog/p/6685611.html

    深入理解Java并发之synchronized实现原理--------https://blog.csdn.net/javazejian/article/details/72828483

    详解Java反射各种应用----------https://www.cnblogs.com/qifengshi/p/6267511.html

    synchronized作用范围及用法-------https://www.cnblogs.com/welcoming/p/3375664.html

    java线程(上)Thread和Runnable的区别------https://www.cnblogs.com/yangdy/p/5274455.html

    java中为什么需要public static void main(String[] args)这个方法------https://blog.csdn.net/aym_fuhong/article/details/52437740

    Java基础之构造方法及其应用-----https://www.cnblogs.com/feia1236/p/5913991.html

    Java Static和Final使用总结----https://www.cnblogs.com/panning/p/5686605.html

    Java 枚举(enum) 详解7种常见的用法----https://blog.csdn.net/qq_27093465/article/details/52180865

    JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。

    大师兄我又加上自己的理解,来帮助各位理解一下。

    用法一:常量

    在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 

    Java代码 
    1. public enum Color {  
    2.   RED, GREEN, BLANK, YELLOW  
    3. }  

    用法二:switch

    JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。 

    Java代码 
    1. enum Signal {  
    2.     GREEN, YELLOW, RED  
    3. }  
    4. public class TrafficLight {  
    5.     Signal color = Signal.RED;  
    6.     public void change() {  
    7.         switch (color) {  
    8.         case RED:  
    9.             color = Signal.GREEN;  
    10.             break;  
    11.         case YELLOW:  
    12.             color = Signal.RED;  
    13.             break;  
    14.         case GREEN:  
    15.             color = Signal.YELLOW;  
    16.             break;  
    17.         }  
    18.     }  
    19. }  

    用法三:向枚举中添加新方法

    如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且 Java 要求必须先定义 enum 实例。 

    Java代码 
    1. public enum Color {  
    2.     RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);  
    3.     // 成员变量  
    4.     private String name;  
    5.     private int index;  
    6.     // 构造方法  
    7.     private Color(String name, int index) {  
    8.         this.name = name;  
    9.         this.index = index;  
    10.     }  
    11.     // 普通方法  
    12.     public static String getName(int index) {  
    13.         for (Color c : Color.values()) {  
    14.             if (c.getIndex() == index) {  
    15.                 return c.name;  
    16.             }  
    17.         }  
    18.         return null;  
    19.     }  
    20.     // get set 方法  
    21.     public String getName() {  
    22.         return name;  
    23.     }  
    24.     public void setName(String name) {  
    25.         this.name = name;  
    26.     }  
    27.     public int getIndex() {  
    28.         return index;  
    29.     }  
    30.     public void setIndex(int index) {  
    31.         this.index = index;  
    32.     }  
    33. }  

    用法四:覆盖枚举的方法

    下面给出一个toString()方法覆盖的例子。 

    Java代码 
    1. public enum Color {  
    2.     RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);  
    3.     // 成员变量  
    4.     private String name;  
    5.     private int index;  
    6.     // 构造方法  
    7.     private Color(String name, int index) {  
    8.         this.name = name;  
    9.         this.index = index;  
    10.     }  
    11.     //覆盖方法  
    12.     @Override  
    13.     public String toString() {  
    14.         return this.index+"_"+this.name;  
    15.     }  
    16. }  

    用法五:实现接口

    所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类。 

    Java代码 
    1. public interface Behaviour {  
    2.     void print();  
    3.     String getInfo();  
    4. }  
    5. public enum Color implements Behaviour{  
    6.     RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);  
    7.     // 成员变量  
    8.     private String name;  
    9.     private int index;  
    10.     // 构造方法  
    11.     private Color(String name, int index) {  
    12.         this.name = name;  
    13.         this.index = index;  
    14.     }  
    15. //接口方法  
    16.     @Override  
    17.     public String getInfo() {  
    18.         return this.name;  
    19.     }  
    20.     //接口方法  
    21.     @Override  
    22.     public void print() {  
    23.         System.out.println(this.index+":"+this.name);  
    24.     }  
    25. }  

    用法六:使用接口组织枚举

     Java代码 

    1. public interface Food {  
    2.     enum Coffee implements Food{  
    3.         BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO  
    4.     }  
    5.     enum Dessert implements Food{  
    6.         FRUIT, CAKE, GELATO  
    7.     }  
    8. }  
      1.  
        /**
      2.  
        * 测试继承接口的枚举的使用(by 大师兄 or 大湿胸。)
      3.  
        */
      4.  
        private static void testImplementsInterface() {
      5.  
        for (Food.DessertEnum dessertEnum : Food.DessertEnum.values()) {
      6.  
        System.out.print(dessertEnum + " ");
      7.  
        }
      8.  
        System.out.println();
      9.  
        //我这地方这么写,是因为我在自己测试的时候,把这个coffee单独到一个文件去实现那个food接口,而不是在那个接口的内部。
      10.  
        for (CoffeeEnum coffee : CoffeeEnum.values()) {
      11.  
        System.out.print(coffee + " ");
      12.  
        }
      13.  
        System.out.println();
      14.  
        //搞个实现接口,来组织枚举,简单讲,就是分类吧。如果大量使用枚举的话,这么干,在写代码的时候,就很方便调用啦。
      15.  
        //还有就是个“多态”的功能吧,
      16.  
        Food food = Food.DessertEnum.CAKE;
      17.  
        System.out.println(food);
      18.  
        food = CoffeeEnum.BLACK_COFFEE;
      19.  
        System.out.println(food);
      20.  
  • 相关阅读:
    LoaRunner性能测试系统学习教程:场景设计实践之IP欺骗技术(2)
    LoaRunner性能测试系统学习教程:场景设计实践之集合点(1)
    LoadRunner性能测试系统学习教程:脚本编写之异步函数(9)
    LoadRunner性能测试系统学习教程:脚本编写之异步技术(8)
    LoadRunner性能测试系统学习教程:脚本编写之关联函数介绍(7)
    LoadRunner性能测试系统学习教程:脚本编写之关联技术(6)
    川石学员:毕业一年,月入过万,这你能想象?
    LoadRunner性能测试系统学习教程:脚本编写之关联技术(5)
    完整语法的增删改查
    表的详细操作、表关系
  • 原文地址:https://www.cnblogs.com/czlovezmt/p/9296792.html
Copyright © 2011-2022 走看看