jsp网站开发需要什么技术,福建大佳建设工程有限公司网站,仙桃网,国展做网站的公司继承 1. 继承含义 在面向对象编程中#xff0c;可以通过扩展一个已有的类#xff0c;并继承该类的属性和行为#xff0c;来创建一个新的类#xff0c;这种方式称为继承#xff08;inheritance#xff09;. 2. 继承的优点 A#xff0e;代码的可重用性 B#xff0e;子类可…继承 1. 继承含义 在面向对象编程中可以通过扩展一个已有的类并继承该类的属性和行为来创建一个新的类这种方式称为继承inheritance. 2. 继承的优点 A代码的可重用性 B子类可以扩展父类的属性和方法 C父类的属性和方法可用于子类 D设计应用程序变得更加简单 3.类与类的关系 a. has—a(组合关系) b. is—a继承关系 4. Java中继承的实现关键字extends 关键字extends出现在类声明时的类名后extends后面跟着的是要继承的类的名称。 例如public class Student(子类) extends Students(父类){} 5. 继承具有单根性和传递性 6. 所有类的根类Object(基类超类) public class Students extends Object{ } 7. 方法重写方法重写出现在子类中子类重写父类的方法构造方法不能被继承 A方法重写含义子类可以重写从父类继承的方法从而允许子类添加或者改变父类中方法的行为。 B子类重写父类需遵循的规则 a 子类的方法的方法名返回值类型参数列表都必须与父类中的相同。 b 子类的访问修饰符必须不小于父类中的访问修饰符。子类中的访问修饰不能比父类中的更严格 c 子类中重写的异常不能抛出比父类更多的异常。 8. super关键字 A子类用关键字super来调用父类中重写的方法super指代的是父类对象 B使用super调用父类的构造器如果构造器没有使用super关键字那么编译器会自动添加一个无参的super来调用父类构造器 9. final关键字 afinal变量不能被改变 bfinal类不能被继承 cfinal方法不能再被重写 10. 封装 A含义封装是使类中的成员变量都是private并提供public方法访问这些成员变量的技术。 B封装使用getter,setter C.封装优点 a.类的成员变量可以成为只读或只写 b.类可以对存储在其它成员变量中的内容有一个整体的控制 c.类的用户不需要知道类是如何存储数据的 内部类 内部类的特点 独立的class文件同样需要编译同样可以产生对象静态内部类 定义方法 class Outer{ static class Inner{ //静态内部类不能访问到外部的成员除非外部成员也是静态成员 } } 静态内部类创建对象a.用外部类. b.导入内部类所在的包 c.用全限定名 成员内部类 定义方法class Outer{ class Inner{ //成员内部类可以访问到外部的成员 } } 成员内部类创建对象Outer outer new Outer(); Outer.Inner inner outer.new Inner(); 局部内部类只能在方法内部中使用 定义方法class Outer{ Void fd(){ class Inner{ //局部内部类 } } new Inner().fd(); } 匿名内部类没有名字 形式定义new 类或接口的名字(){ //匿名内部类的主体 } 包装类 针对于原生数据类型的包装。所有的包装类8 个都位于java.lang 包下。 Java 中的 8 个包装类分别是Byte,Short, Integer, Long, Float, Double,Character, Boolean。 他们的使用方式都是一样的可以实现原生数据类型与包装类型的双向转换。 多线程 当一个程序运行时内部可能包含了多个顺序执行流每个顺序执行流就是一个线程。 主要以下几个优点 线程之间很容易实现共享内存创建线程代价较小Java语言内置多线程功能支持创建线程通过以下两种方法创建 Thread 对象
声明一个 Thread 类的子类并覆盖 run() 方法。 class mythread extends Thread {public void run( ) {/* 覆盖该方法*/ }}
声明一个实现 Runnable 接口的类并实现 run() 方法。 class mythread implements Runnable{public void run( ) {/* 实现该方法*/ }} 线程的通信 Java为了避免轮询检测通过wait()、notify()和notifyAll()方法实现进程内通信的机制。wait()告诉调用线程放弃监控器进入等待模式直到其他线程进入同一监控器并调用notify()方法。 notify()唤醒在此同步器上等待的单个线程 notifyAll()唤醒在此同步器上等待的所有线程 线程池 线程池在系统启动时就创建大量空闲的线程程序将一个Runnable对象传给线程池线程池就会启动一个线程来执行该对象的run方法当run方法执行结束后该线程不会死亡而是再次返回线程池中称为空闲状态的等待执行下一个Runnable对象的run方法。 使用线程池来执行线程任务的步骤如下 调用Executors类的静态工厂方法创建一个ExecutorService对象该对象代表一个线程池。创建Runnable实现类或Callable实现类的实例作为线程执行任务。调用ExecutorService对象的submit方法提交Runnable实例或Callable实例。当不想提交任何任务时调用ExecutorService对象的shutdown方法来关闭线程池。 转载于:https://www.cnblogs.com/hl201211/p/4473910.html