1.static
静态的内容在内存中只保留一份的,并且各个对象是共享下的
不推荐使用对象访问静态变量,而用类名访问静态变量
特点:
1.数据共享
2.属于类的,并不属于对象
3.优先于对象产生的
通用构造器 ({}),静态构造器(static {})
创建对象的过程中:
静态构造器 -> 通用构造器 -> 构造方法->创建方法
由于创建对象的过程是在静态内容加载完成之后,所以在静态方法和静态块里,不能使用this.(对象)
2.包和导包
包名:一般是域名的反转 例如 www.baidu.com (com.baidu.www) ,本质就是文件夹
在代码中需要写 package 包名;
导入包的快捷方式,ctrl+回车 import 包+类;
不需要导包:
1.在自己包里
2.java.lang包下的所有内容都不需要导包
String 、 System.out.println()
3.访问权限
1.public 公共的.所有类都可以访问
2.default 包访问权限 在自己包内可以随意访问.
3.private 私有的.自己的类才能访问
4.getter ,setter
当成员变量为私有的时,为了访问和赋值,应用 setter ,getter
成员变量为 private时,
Setter:主要时给成员变量赋值,做一定的保护
getter:从成员变量中获取数据
空白位置 – 右键 – generate – getter and setter (自动生成)
5.继承
继承:子类可以自动拥有父类中除了私有内容外的其他所有内容
当出现x时一种y的时候,x 可以继承 y
pubic class 子类 extends 父类{}
作用,简化代码的开发
子类对父类进行了扩展
6.super 关键字
//现在自己类 然后找父类,就近原则
super:表示父类中的内容
this:自己类的类容
用super和this可区分重名的内容
在每个子类的对象里 有一个父类的对象
创建对象的过程:先创建父类的对象,再创建子类的对象
注意 :创建子类的对象时,先调用子类的构造方法,在子类的构造方法开头调用父类的构造方法
如果父类的构造方法要参数 在子类的构造方法中必须在开头声明 super(参数)
小总结:
1.super可以获取到父类的内容
2.可以调用父类中的构造方法,必须写在子类构造方法的第一行,如果父类的构造是无参数的可以不写,如果父类没有无参数的构造。必须要写super
7.方法的重写
重写:子类对父类中提供的方法进行重新定义
语法:子类和父类中的方法的声明完全一致
8.多态
同一对象的多种形态
把不同数据类型进行统一
1.把子类的对象赋值给父类的引用(变量 —>向上转型
2.把父类的变量转回子类的变量 ->向下转型
向下转型有可能有风险。java要求必须写强制类型转换(转换之后的数据类型)变量
小练习
9.final
1.被final修饰的变量不可以被改变,又被称为常量
2.被final修饰的方法不可以被重写。
3.被final修饰的类不可以被继承
10.抽象
抽象方法:使用abstract来修饰。不可以有方法体。直接用分号结束即可
抽象类:如果一个类中有抽象方法,这个类必须是一个抽象类
特点:
1.抽象类不可以创建对象
2.抽象类的子类,必须重写父类中的抽象方法,否则,子类必须也是子类
作用:通过抽象类可以强制要求子类必须有哪些方法
小知识点:抽象类可以有正常的方法
11.接口
1.接口实际上事一种特殊的抽象类
2.接口中所有的方法都是抽象方法,可以省略 abstract 且都是公开的 public
3.接口中用interface来声明
4.能继承接口的只能是接口, 接口和类只能是实现关系 用implements
5.java支持,单继承多实现
友情帐 /s/yrz fa fa-unlink faa-bounce animation-hover
6.当 一个类去实现接口时,必须去重写接口中的抽象类 抽象类似
IJ支持 直接重写
7.接口一样具有多态性
Q.E.D.