类是什么:我们把某些相同的属性和行为抽取出来成为一类。
对象:对象就是类的一个具体实例。
类和对象的关系:类是一个概念,对象时类的一个实例,例如狗这个类,京巴就是类的一个实例对象
什么是封装:封装就是对类属性加上private 使他只能在本类里直接调用。
封装的好处:保证了数据的合理性,使数据更加安全。
封装的过程:创建类,创建类属性,类属性定义为private。然后提供set 、get 方法
什么是继承:把某类事物的相同属性抽取出来成为父类,然后再由需要的子类去继承
继承的好处:提升代码的复用性
继承的语法:
Father类
son extends Father;
什么是构造方法:语法:
public 类名(){
} 无参构造器是默认的,如果存在有参构造器就会覆盖无参构造器,所以定义的时候无参构造器一般都会写出来
特殊:构造方法没有void 也没有返回值
给属性赋值的方式都有哪些?如何选择?
针对封装来说:1:给封装属性提供set、get方法 2:通过构造器来进行赋值
属性不是很多的时候可以用set、get方法赋值,当属性比较多怕漏掉的时候可以通过创建有参构造器的方法来赋值
什么是方法重载? 重载的好处 语法
重载:方法同名不同参的就是重载,与返回值无关。提高代码利用率,不用定义许多方法,方便记忆和调用。 重载只能发生在同一个类中!
语法:public void say(){
}
public void say(int a){
}这就构成了重载
继承的本质?
子类调用父类的方法,给父类赋值,子类不用重新定义相同的属性
在子类构造方法中如何调用父类构造方法:
例如:
public 类名(){ super(); } //调用的父类的无参构造器
继承的特点?
继承只能单继承,但是可以多级继承
子类都继承了父类的哪些成员?
子类继承了 父类默认的,用provide public修饰的成员
多态的概念 好处:
同一种方法, 不用的实现 。
好处:减少代码量,提高利用率
实现步骤?
1;创建父类,在父类中编写方法
2:在子类中重写父类的方法
3:使用时用父类做类型,实际传参的是子类的对象。
多态的实现方式都有哪些?
方法重载:静态实现,在编译的时候已经实现了重载
方法重写:动态实现,在编写的时候没有覆盖父类的方法,在程序运行时才重写
如何理解父类的对象指向子类的应用:
Father fa = new Son(); fa.父类的属性和方法 //father限定了他的范围
instanceof 使用场合 如何使用
interfaceof 判断一个实类是否属于一个对象
dog instanceof animal //狗是否属于动物类,是的话返回true
什么是方法重写:
方法头相同,但是实现方式不同
class Teacher public void teach(){ } class JavaTeacher extends Teacher public void teach(){ System.out.print("java老师在教java"); } class phpTeacher extends Teacher public void teach(){ System.out.print("php老师在教php"); }
方法重载和方法重写的区别?
重载:同一类下! 同名不同参!
重写:不用同一类下,方法名相同,参数相同,实现不同