黑马程序员--Java基础--04面向对象(2)

来源:互联网 发布:js正则表达式 i 编辑:程序博客网 时间:2024/06/06 04:23

----------- android培训java培训java学习型技术博客、期待与您交流! ------------


1.Final关键字

表示最终意思,作为修饰符使用。

Final可以修饰变量,方法,类。

final修饰的类不可以被继承。

final修饰的方法不可以被覆盖。

final修饰的变量是一个常量。只能被赋值一次。

 

2.Static关键字

可用于修饰成员变量及成员函数,特有数据随着对象存储,在堆内存中,当数据被多个对象共享时可定义为静态的。

Static特点

(1)随着类的加载而加载

(2)优先于对象存在

(3)被所有对象所共享

(4)可以直接被类名调用

静态使用注意事项:

(1)静态方法只能访问静态成员。

       非静态方法既可以访问静态也可以访问非静态。

(2)静态方法中不可以定义this,super关键字。

       因为静态优先于对象存在。所以静态方法中不可以出现this。

(3)主函数是静态的。

class Sta{//静态的成员变量,类变量。public static int i = 0;//静态方法static void say(){System.out.println("我是静态方法。。");}}class Demo{public static void main(String[] args) {//直接使用类名调用静态成员变量及方法System.out.println(Sta.i);Sta.say();}}

静态代码块,静态代码块中无法访问类中的属性,用于给类进行初始化代码块是为对象初始化时用的

格式:

static

{

       静态代码块中的执行语句。

}


3.抽象及接口

抽象类是将多事物的共性进行提取,只表述其特点不进行细致描Java中可以定义没有方法体的方法,该方法的具体实现由子类完成,该方法称为抽象方法,包含抽象方法的类就是抽象类。

    抽象类的特点:

抽象方法一定在抽象类中。

抽象方法和抽象类都必须被abstract关键字修饰。

抽象类不可以用new创建对象。因为调用抽象方法没意义。

抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用。如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。

abstract class Sta{//抽象方法say()abstract void say();}class Demo extends Sta{//重写父类的抽象方法say()public void say(){System.out.println("我说话了。。");}}

接口

可以认为是一个特殊的抽象类当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示,interface 用于定义接口。

接口定义时,格式特点:

接口中常见定义:常量,抽象方法。

接口中的成员都有固定修饰符。

     常量:public static final

     方法:public abstract

记住:接口中的成员都是public的,接口可以被类多实现,也是对多继承不支持的转换形式。java支持多实现。

interface Inter{public static final int NUM = 3;public abstract void show();}interface InterA{public abstract void show1();}//实现多个接口class Demo implements Inter,InterA{//必须实现接口的方法public void show(){}public void show1(){}}

----------- android培训java培训java学习型技术博客、期待与您交流! ------------
0 0
原创粉丝点击