java性质
java控制语句
1.if{}else{}
2.while{}
3.do{}while
4.for
5.foreach
java数组
Java中数组复制的几种方法(https://www.cnblogs.com/zhengbin/p/5671403.html)
java中方法的定义与语法规则
1.访问修饰符:public全局访问,protected包内访问,private文件内部访问
2.返回值的类型:无返回值用void修饰
3.方法名:第一个单词小写,后面驼峰法
4.参数列表
5.方法体
6.方法的重载:同一类中具有相同方法定义方式,但参数列表不同的形式,称为方法的重载
7.方法的重写:继承父类的方法对重写方法体
8.返回值:通过return返回相应的返回值,返回值与方法定义时的返回值类型保持一致
java中的类和对象
1.类定义
2.对象的实例化
3.构造方法,一个类中可以有多个构造方法
public class People{
//无参构造方法
public People(){
}
//有一个参数的构造方法
public People(int age){
}
}
如果我们在定义类的时候没有写构造方法,系统会默认给我们生成一个无参构造方法,不过这个构造方法什么也不会做。当有指定的构造方法时,系统不会再为我们添加无参的构造方法。构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法。
4.java中关键字this和super的使用(https://www.cnblogs.com/hasse/p/5023392.html)
java封装
1.成员变量私有化,通过getter和setter方法实现属性的创建修改获取
2.包的作用
有时候在封装的时候会遇到这样的问题,就是我们的类名可能是重复的,为了更好的组织java的类,我们引入了包的概念(相同文件夹下的java文件就是在同一个包内,在文件开头导入不同包内的类时,要表明文件所在的具体包)
import com.shiyanlou.People
3.访问修饰符
public:全局
protected:同包和子类
默认:同包(一般不通过不指明的方式来定义类)
private:本类内部调用
4.this关键字
我们在书写代码的过程中常常会用到this关键字,this关键字代表当前对象。使用this.属性操作当前对象的属性,this.方法调用当前对象的方法。
5.内部类:定义在一个类的内部的类叫做内部类
1.成员内部类:内部类 对象名 = 外部类对象.new 内部类();
2.静态内部类:内部类 对象名= new 内部类();
3.局部内部类:定义在类内部的方法中的类
4.匿名内部类:匿名内部类只能使用一次,它通常用来简化代码编写。但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口。
java继承
1.定义:通过extends关键字继承得到父类的属性和方法,子类可以在父类的基础上重写父类的方法,实现与父类不一样的功能。java是单继承,一个子类只能继承一个父类,但是一个类可以实现多个接口。
2.继承的意义:减少代码量,子类可以不重写父类的方法而直接调用父类的方法,又可以新增父类中不存在的属性或方法,增加新的功能。避免相似类中代码的大量重复。
3.final 关键字可以修饰类、方法、属性和变量
1.final 修饰类,则该类不允许被继承,为最终类
2.final 修饰方法,则该方法不允许被覆盖(重写)
3.final 修饰属性:则该类的属性不会进行隐式的初始化(类的初始化属性必须有值)或在构造方法中赋值(但只能选其一)
4.final 修饰变量,则该变量的值只能赋一次值,即变为常量
4.super
1.访问父类的属性 super.属性名
2.访问父类的方法 super.bark()
3.子类构造方法需要调用父类的构造方法时,在子类的构造方法体里最前面的位置:super()
java中的多态
1.多态是指允许不同的对象对同一消息作出响应,通俗的讲只通过父类就能够引用不同的子类
Animal a = new Animal();
Animal b = new Dog();//多态,可以通过父类实例化子类,由于实例化的是子类,所以能调用子类中的任何属性或方法
2.多态的实现条件
继承,重写,向上转型
3.多态的实现方式
继承父类进行方法重写,抽象类和抽象方法,接口的实现
1.抽象类和抽象方法就是在定义的时候添加abstract修饰词
抽象类没有具体实现的方法,只有方法声明,抽象类中可以有抽象方法也可以没有抽象方法
抽象方法没有方法体,抽象方法的具体实现由继承该类的子类实现
abstract void f(); //f()方法时抽象方法
2.接口通过interface来实现,接口不可以用来实例化,且一个类可以实现多个接口,接口的具体实现只能由实现它的具体类来实现