----------- 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学习型技术博客、期待与您交流! ------------