如何架设php网站,留学生做留服证明在哪个网站,高端h5网站开发,114外链大纲#xff1a;一、两个重要概念① 请说明类和对象的区别类是对某一类实物的描述#xff0c;是抽象的#xff1b;对象是一个实实在在的个体#xff0c;是类的一个实例#xff1b;② 解释一下什么是类加载机制、双亲委派模型#xff0c;好处是什么#xff1f;类加载机制…大纲一、两个重要概念① 请说明类和对象的区别类是对某一类实物的描述是抽象的对象是一个实实在在的个体是类的一个实例② 解释一下什么是类加载机制、双亲委派模型好处是什么类加载机制双亲委派模型某个特定的类加载器在接到加载类的请求时首先将加载任务委托给父类加载器依次递归如果父类加载器可以完成类加载任务就成功返回只有父类加载器无法完成此加载任务时才自己去完成。好处二、java类及类的成员① 重写(Overriding)与重载(Overloading)的区别重载重载指的是同一个类中的两个方法方法名相同参数列表(参数的类型、个数、顺序)不同对返回值类型没有要求重写重写发生在子类与父类之间子类重写父类的方法要求与被重写的方法的参数列表和返回值相同具体不同1 重写与重载都是实现多态的方式区别在于重载实现的是编译时的多态重写实现的是运行时的多态(在了解下)2 重写后子类方法的访问修饰权限不能小于父类的访问修饰权限3 重写后子类不能比父类被重写方法声明更多的异常② 什么是构造函数什么是构造函数重载什么是复制构造函数构造函数(构造器)当新对象被创建的时候构造函数会被调用。每一个类都有构造函数。在程序中没有给类提供构造函数的情况下Java编译器会为这个类创建一个默认的构造函数 。构造函数重载java中构造函数的重载和方法重载很相似。可以为一个类创建多个构造函数。每一个构造函数都必须有他唯一的参数列表。复制构造函数java不支持像C中那样的复制构造函数 这个不同点是因为如果你不自己写构造方法的情况下Java不会创建默认的复制构造方法。三、面向对象的三大特征① 面向对象的特征解释下具体的注意点说明封装性我们可以将类的属性私有化 只有通过公共的get/set方法才能进行访问在get/set方法中我们可以对内部逻辑进行封装处理外部的调用方不必关心我们的处理逻辑。继承性1 java不支持多继承2 类中的构造函数不能被继承如果构造函数被private修饰 那么该类就不能被其他类继承3 方法的重写多态性1 方法的重载(与重写)2 向上转型和向下转型参考链接https://www.cnblogs.com/liyanyan665/p/11198602.html四、java关键字static关键字① 是否可以在static环境中访问非static变量② 解释一下static关键字java中是否可以重写一个private或者是static的方法static关键字static是表示静态的意思它可用来修饰成员变量和成员函数被静态修饰的成员函数只能访问静态成员不能访问非静态成员。静态是随着类的加载而加载因此可以直接用类进行访问。private或者是static的方法都不能被重写覆盖也就是我们常说的重写是子类继承父类且子类中的方法和父类中的方法方法名、参数列表和返回值都相同。private修饰的方法不能被继承所以也不存在重写(覆盖)static修饰的方法可以被继承但不能被重写。 因为方法覆盖是基于运行时动态绑定的而static方法是编译时静态绑定的。static方法跟类的任何实例都不相关所以概念上不适用。③ 静态与非静态的区别这里的静态指以static关键字修饰的包括类方法块字段。静态变量和静态方法都属于静态对象非静态指没有用static 修饰的。静态有一些特点1.全局唯一任何一次的修改都是全局性的影响2.只加载一次优先于非静态3.使用方式上不依赖于实例对象。直接用 类名.静态方法名 或者 类名.静态变量名就可引用并且直接可以修改其属性值不用get和set方法。4.生命周期属于类级别从JVM 加载开始到JVM卸载结束。5.static final用来修饰成员变量和成员方法可简单理解为“全局常量”。对于变量表示一旦给值就不可修改对于方法表示不可覆盖。6.静态方法和静态变量创建后始终使用同一块内存。7.静态方法优点是效率高缺点是不自动进行销毁。final关键字④ 说明一下final、finally、finalize的区别final用于声明属性方法和类分别表示属性不可交变方法不可覆盖类不可继承。finally是异常处理语句结构的一部分表示总是执行。finalize是Object类的一个方法在垃圾收集器执行的时候会调用被回收对象的此方法供垃圾收集时的其他资源回收例如关闭文件等。⑤ 说明一下final怎么用的五、其他知识点① 请列举你知道的Object类的方法并简要说明Object()默认构造方法。clone() 创建并返回此对象的一个副本。equals(Object obj) 指示某个其他对象是否与此对象“相等”。finalize()当垃圾回收器确定不存在对该对象的更多引用时由对象的垃圾回收器调用此方法。getClass()返回一个对象的运行时类。hashCode()返回该对象的哈希码值。notify()唤醒在此对象监视器上等待的单个线程。notifyAll()唤醒在此对象监视器上等待的所有线程。toString()返回该对象的字符串表示。wait()导致当前的线程等待直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。wait(long timeout)导致当前的线程等待直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法或者超过指定的时间量。wait(long timeout, int nanos) 导致当前的线程等待直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法或者其他某个线程中断当前线程或者已超过某个实际时间量。六、抽象类和接口① 抽象类和接口的区别抽象类1 抽象类必须在类前用abstract关键字修饰。如果一个类中有抽象方法那么这个类也是抽象的2 子类必须实现抽象类中的抽象方法如果有未实现的那么子类也是抽象类必须用 abstract 修饰 3 抽象类默认的权限修饰符为public可以定义为 public 或 procted如果定义为 private那么子类则无法继承4 抽象类不能创建对象 抽象类就是为了继承而存在的接口( interface )1 接口中的变量会被隐式地指定为public static final变量(并且只能是public static final变量用private修饰会报编译错误)2 接口中的方法会被隐式地指定为public abstract方法且只能是public abstract方法(用其他关键字比如private、protected、static、 final等修饰会报编译错误)3 接口中所有的方法不能有具体的实现也就是说接口中的方法必须都是抽象方法区别1 一个类只能继承一个抽象类而一个类却可以实现多个接口2 抽象类可以提供成员方法的实现细节而接口中只能存在public abstract 方法3 抽象类中的成员变量可以是各种类型的而接口中的成员变量只能是public static final类型4 接口中不能含有静态代码块以及静态方法而抽象类可以有静态代码块和静态方法(java 8开始接口中可以有静态方法)② java是否支持多继承Java中类不支持多继承只支持单继承(即一个类只有一个父类)。但是java中的接口支持多继承即一个子接口可以有多个父接口。(接口的作用是用来扩展对象的功能一个子接口继承多个父接口说明子接口扩展了多个功能当类实现接口时类就扩展了相应的功能)。