java面向对象

1、.点操作符

      作用:引用一个类的成员变量或者成员方法

      使用:先创建类的实例对象,对象.的方式调用

2、构造函数

      给类型不一的成员初始化成员值

      构造函数没有返回值

      通过new关键字来调用构造函数,并且只能被调用一次。一个对象被初始化以后就不能再调用该对象的构造函数

      构造函数不能被继承

      有参构造函数会屏蔽默认无参构造函数

3、方法重载和方法复写

      重载,同一个类中,参数列表不同,返回值不同

      复写(重写),不同类型中,只有方法体不同,子类用@Override标志,表示重写父类方法。

4、信息封装和隐藏

      给私有变量设置setter和getter值

5、用类名定义一个变量时,定义的只是一个引用,外面通过这个引用来访问这个类里面的属性和方法。其实,java中       提供了一个内部对象this,永远指向当前对象。在继承关系中,用super访问当前对象的父类。

6、组合和继承

      IS-A关系,即一个类需要向另一个类暴露其所有的方法,用继承。

      HAS-A关系,用组合,即装饰者模式。

7、java中只支持单继承

8、所有类的父类java.lang.Object

      Object类定义和实现了java类都需要的一些通用行为,在多线程和垃圾自动收集中用到。

9、多态性

      可替换性:

      子类具有父类的所有属性和行为,因此需要使用父类的实例的时候,可以用子类代替。

      向上转型和向下转型:

       将一个子类的实例赋值给父类的引用称为向上转型,向上转型总是安全的,自动发生的。

       将一个父类引用转型为最初类型,称为向下转型。需要强制性转换,不合理的强制转换在编译时不会报错,运行        时才会报错。

10、instanceOf操作符:判断一个一个实例是否真的属于一个类型

anObject instanceof aClass
11、抽象类和接口
    含有至少一个抽象方法的类称为抽象类,抽象类不能被实例化。抽象方法必须被子类实现
    接口中的所有方法都是抽象方法,只能有static final类型的数据成员,且不许给出初值。接口中的成员变       量可以在子类中重新赋值。
    单继承,可以实现多个接口。
    抽象类可以有默认行为,接口不可以有,想要有默认行为的话需要委托。
    实现接口必须实现接口中的所有方法,继承抽象类必须继承抽象类中的所有抽象方法。
12、java中定义了21个包,常用的有如下几个:
    java.lang
    java.util
    java.io
    java.awt
    java.awt.event
    java.net
    java.applet
    java.sql
    java.rmi
    java.security
13、包的使用(装载自己已编译好的包)
    a、在需要引用的类名前加上包名
    b、用import引入包中的类
    c、用import引用整个包*
    java.lang无需显示调入,编译器自动调入。
14、默认继承Object类
15、Object类常用方法:
    Object构造方法;
    public boolean equals(Object object) //对象比较
    public int hashCode() //取得hash码
    public String toString() //对象打印时使用
16、==基本类型比较值,引用类型比较是否是同一个对象。
17、Object中的equals方法只用来比较是否是同一个对象,只能比较引用类型。
    对于File、String、Data、包装类不需要比较对象,可以进行重写
18、toString()方法默认返回类名和哈希码值的十六进制形式。其他类型数据和String类型进行连接时会自动调用toString()方法
19、static关键字是为了实现对象之间重复属性的数据共享。静态成员变量可以通过类名.直接访问,也可以通过对象.进行访问(非静态函数可以访问静态成员,静态成员先于对象存在)。
20、static特点:
   随着类的加载而加载;先于实例对象存在;被所有实例对象所共享;静态只能访问静态。
21、静态变量和实例变量的区别:
    静态变量存在于内存中的方法区中,实例变量存在于堆内存中。
22、import java.util.Calendar;
    import java.util.Date;
    //初识化日历对象
    Calendar cal = Calendar.getInstance();//0表示1月,1表示2月
    //Calendar和Date的相互转化
    Date date = cal.getTime();
    cal.setTime(date);
23、格式化输出时间:
    Date date = new Date();
    SimpleDateFormat sd = new SimpleDateFormat("yy-MM-dd : hh:mm:ss");
    sd.format(date);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章