关于 Java 基础整理(一)

来源:互联网 发布:淘宝免费购物 编辑:程序博客网 时间:2024/06/05 04:10

1.引用数据类型传递

   

class Person{String name ;int age ;}public class TestRefDemo1{public static void main(String[] args) {// 声明一对象p1,此对象的值为null,表示未实例化Person p1 = null ;// 声明一对象p2,此对象的值为null,表示未实例Person p2 = null ;// 实例化p1对象p1 = new Person() ;// 为p1对象中的属性赋值p1.name = "张三" ;p1.age = 25 ;// 将p1的引用赋给p2p2 = p1 ;// 输出p2对象中的属性System.out.println("姓名:"+p2.name);System.out.println("年龄:"+p2.age);p1 = null ;}}
2.覆写object类的equal方法,用于比较

class Person{   private String name ;   private int age ;   public Person(String name,int age)   {      this.name = name ;      this.age = age ;   }   // 覆写父类(Object类)中的equals方法   public boolean equals(Object o)   {      boolean temp = true ;      // 声明一p1对象,此对象实际上就是当前调用equals方法的对象      Person p1 = this ;      // 判断Object类对象是否是Person的实例      if(o instanceof Person)      {         // 如果是Person类实例,则进行向下转型         Person p2 = (Person)o ;         // 调用String类中的equals方法         if(!(p1.name.equals(p2.name)&&p1.age==p2.age))         {            temp = false ;         }      }      else      {         // 如果不是Person类实例,则直接返回false          temp = false ;      }      return temp ;   }}class TestOverEquals2{   public static void main(String[] args)    {      Person t_p1 = new Person("张三",25);      Person t_p2 = new Person("张三",25);      // 判断p1和p2的内容是否相等      System.out.println(t_p1.equals(t_p2)?"是同一个人!":"不是同一个人");   }}
3.final关键字的使用
 

   ⑴ final标记的类不能被继承
   ⑵ final标记的方法不能被子类覆写
   ⑶ final标记的变量(成员变量或局部变量)即为常量,只能赋值一次
4.代码块即是java中用“()”括起来的代码块就是代码块,划分为普通代码块、静态代码块、构造块、同步代码块
     1.普通代码块:直接在一个方法中出现的大括号()就成为普通代码块

     2.构造块:直接在类中定义的代码块,构造块重复执行多次,比构造方法先执行
    3.静态块优先于主方法执行,且静态块优先于构造块执行,而且只执行1次

    4.同步块:
5.接口实例相关的设计模式
   (1)适配器模式:解决接口不兼容的问题
    
    (2)工厂模式
      
     (3)代理模式:
      
      

  


0 0
原创粉丝点击