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.