李兴华—Java开发实战经典

Java语言特点:一次编写,到处运行

面向对象:封装性、继承性、多态性

可变参数

public void fun(int...arg){
      for(int i = 0; i < arg.length; i++){
            System.out.print(arg[i]+"、");
   }  

}

foreach

    for(int i : a)                     //for(数据类型 变量名称 : 数组名称){...}  
    System.out.println(i);      
     

类中全部属性必须封装,封装后要通过get,set方法进行访问;调用方法时最好采用this.方法名称();的形式

字符串:(“==”比较的是地址)(equals比较内容

    Java中为String对象提供一个共享池,新实例化的对象如果已经在池中定义,则不再重复定义

    字符串内容不可改变,我们看到改变实际上是通过内存地址的断开—连接变化完成的(写程序尽量避免断开—连接次数)

匿名对象:就是没有明确给出名字的对象,一般只使用一次,只在堆内存中开辟空间,不存在栈内存的引用

     一个字符串就是一个String类的匿名对象

static声明的属性(可以通过类名直接访问)是所有对象共享的

  非static声明的方法可以调用static声明的属性或方法

  static是不能调用任何非static内容的

Java中常用的内存区域:

  栈内存:所有对象名称(引用堆内存空间的地址)

  堆内存:每个对象的具体属性内容

  全局数据区:static

  全局代码区:所有方法定义

如果要限制类对象的产生,可以将构造方法私有化(单例设计)https://blog.csdn.net/jakezhang1990/article/details/61922371

Java只允许多层继承,不可以多重继承

被子类覆写的方法不能拥有比父类方法更严格的访问权限 

FINAL关键字:

  • fina声明的类不能有子类
  • final声明的方法不能被子类覆写
  • final声明的变量(字母全部大写)为常量,不可修改

接口:全局常量+抽象方法;可以继承多个接口

在Java中可以通过多态性为抽象类和接口实例化,这样再使用抽象类和接口时即可调用本子类所覆写的方法

在Java中所有类都有一个公共的父类Object类,主要方法有:

  1. public Object()              构造方法
  2. public boolean equals(Object obj)       对象比较
  3. public int hanshCode()     取得哈希码
  4. public String toString()      对象打印时调用

Java设计模式:????????????????????????????????

  • 工厂类
  • 代理类
  • 适配器

匿名内部类:https://www.cnblogs.com/nerxious/archive/2013/01/25/2876489.html

Java运行时至少启动两个线程:主线程+垃圾回收线程

线程优先级:MIN_PRIORITY,  MAX_PRIORITY,  NORM_PRIORITY

 

posted @ 2019-08-15 01:29  开心的茄子炒西红柿  阅读(649)  评论(0)    收藏  举报