本篇博客沿上次内容将讲到面向对象的进阶知识,以下为本周学习java的笔记;
static:
静态的意思,可以修饰成员变量和成员方法。
修饰的成员变量表示该成员变量只在内存中存储一份,可以被共享访问和修改。
一般格式:public static int **;
调用静态成员函数时,可以用类名.函数名(形参)
在同一个类中访问静态成员类名可以不写。
还可以用对象.函数名(形参),此方法不推荐。
static的应用知识:
1.工具类:
类中都是静态方法,每个方法都是以完成一个公用的功能为目的,这个类用来给系统
开发人员共同使用的;
eg:验证码类:
在其他类中写System.out.println(check.createcode(5));
便可以调用出验证码;
工具类里面都是静态方法,不需要构建对象,直接访问就行,因此工具类的构造器可以私有化
来防止别人构造对象;
代码块:
静态代码块可以用于初始化静态资源
静态代码块比main方法先执行。
实例代码块在调用对象的时候比构造器先调用
饿汉单例:一个类对外只能产生一个对象;
懒汉单例:在真需要对象时,才会创建一个对象(延迟加载对象);
继承:
关键字:extends
格式:
public class student extends people{}
内存机制:
java中继承的特点:
①:子类可以继承父类的属性和行为,但不能继承父类的构造器
②:java是单继承模式:一个类只能继承一个直接父类
③:java不支持多继承,但是支持多层继承
④:java所有的类都是Object类的子类
⑤:子类不可以继承父类的构造器,子类有自己的构造器
⑥:子类可以继承父类的私有成员,但是不能直接访问
⑦:子类并不能继承父类的静态成员,能引用是因为共享了。
如何进行方法重写:
如何调用父类的有参数构造器?
在子类中利用super(参数列表);
eg:
权限修饰符:
语法部分:
包:
导包 :相同包下的类可以直接访问,不同包下的类必须导包才能使用;
格式:import 包名.类名;
一般集成环境给你自动导包;
注意:如果类中使用不同包下相同的类名,此时默认只能导入一个类的包,另一个
类要用全名访问;
final:
常量:
枚举:
抽象类:
接口:
多态:
内部类: