写了一些常见的java概念

final、finally、finalize的区别。
1.final可以修饰类、方法、变量。
  1>final修饰的类不可以被继承。
  2>final修饰的方法不可以被重写。
  3>final修饰的变量是常量,不可以被更改,必须初始化。
2.finally是异常处理机制try-catch-finally中的一个代码块。
    无论try中是否有异常, catch是否进行捕捉并处理,finally中的
    内容始终会被执行,通常用于关闭资源。
3.finalize是Object中的一个方法。在垃圾回收器回收某对象时,调用
    该方法,强制关闭该对象所占用的资源。

private ,默认,protected,public 修饰类的关键字的区别

             本类         同一包中       不同包子类      任何地方
private     ok           no                     no                     no
默认        ok           ok                    no                    no
protected   ok         ok                    ok                     no
public        ok         ok                     ok                    ok

 


构造方法(构造函数、构造器)Constructor-->创建对象。
重载构造方法的目的:为了创建对象的同时完成属性的赋值。
1.在没有自定义构造函数的时候JVM会默认分配给类一个构造方法。
    public 类名(){
        //super();
    }
2.构造方法的方法名必须与类名同名,包括大小写。
3.没有返回值类型!!!
4.构造方法在创建对象的时候调用该方法。
  只能new 来调用,表示创建对象。
5.构造方法可以重载。可以重载多个,但是为了可以使用普通的
   无参构造方法创建对象,通常会再写一个无参构造方法。
6.可以使用this(参数),调用其他构造方法的方法体。
   只是使用其他构造方法的方法体而已,并没有创建对象。
   使用this调用其他构造方法方法体的时候需要注意,必须在第一句,
   只可以有一个。
7.
  >构造方法中可以调用普通方法。
  >普通方法中不可以直接调用构造方法,必须使用new来调用
    构造方法,相当于创建对象。
8.return;--->结束方法
  构造方法中可以使用return,但只用于结束方法的作用!
  通常不用!!!

 

 

this:代表当前对象。静态方法中不可以使用this。
   1.区分同名的局部变量和属性。
   2.调用同一类中的 其他构造方法。
    this(实参列表); 只能有一个,必须在第一句。


static:静态的。修饰符,可以修饰属性,方法。
1.被static修饰的内容存在于方法区中的静态域(共享区)中
  随着类的加载(javac)而加载,随着类的销毁而销毁,
  并且只加载1次。
2.所有的静态内容,被所有对象共享。
3.静态函数(静态变量),也是随着类的加载而加载。早于对象
  的出现。静态函数中不可以引用非静态内容。
  --->必须创建对象后才可以调用。
  --->静态方法中不可以使用this。
4.静态函数中可以直接引用静态内容(静态方法和静态变量).
  因为是同一个时期被加载的。
  函数相互调用:
    1>普通方法中可以直接调用普通方法(属性)。
    2>静态方法中可以直接调用静态方法(属性)。
    3>静态方法中不可以直接调用普通方法(属性)。
      无法从静态函数中引用非静态内容。
    4>普通方法中可以直接调用静态内容(属性)。
5.调用静态内容:使用类名调用。
    对象.属性(变量)--->类名.属性
    对象.方法()--->类名.方法()

6.如果某一个内容需要被所有对象共享,可以使用静态内容。
  随着类的加载而加载,随着类的销毁而销毁,生命周期最长。

代码块:
1.局部代码块。定义在方法中,随着方法的调用被执行。
  {
    代码块;
  }
2.构造代码块。定义在类中。
  {
    代码块;
  }
  创建对象,调用构造方法的时候:
  创建对象---> 构造代码块 ---->构造器
  创建多少个对象 构造代码块中的内容执行多少次。
  可以理解为,把构造代码块中的内容写在了每一个构造器的第一句。
  对构造方法中的内容进行补充。

  如果某个类需要在创建对象的时候最先执行某一些内容,
  可以把这些内容定义在构造代码块中。

3.静态代码块。定义在类中
    static{
        代码块;
    }
  静态代码块符合静态特性,随着类的加载而加载,并且
  只加载一次。跟创建多少个对象无关。

  如果某些内容,在类的加载时就需要执行,并且只执行1次,
  跟对象的个数无关。可以把这些内容定义在静态代码块中。

  模式:
  一种固定的思维方式。java中有23种设计模式。
  单例模式:
  保证一个类型的多个引用变量指向的地址唯一。
    == 比较的是地址。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值