`
googlelc
  • 浏览: 56704 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java学习笔记(二十七)抽象类与设计模式

 
阅读更多

1.1 抽象类与接口的实例化

抽象类与接口之所以不能直接实例化,是因为他们中都有抽象方法,抽象方法是为实现的方法,不能被调用,只有被子类覆盖之后才能调用子类覆盖的方法。

抽象类的实例化

abstract class A //定义 抽象类
{
public abstract void print();//定义抽象方法
};
class B extends A //定义子类
{
public void print(){ //覆盖抽象方法
System.out.println("hello");
}
};
public class test
{
public static void main(String args[]){
A a = new B();//通过子类为抽象类实例化
a.print();
}
}


可以使用此概念为一个接口实例化。

interface A //定义 抽象类
{
void print();//定义抽象方法
};
class B implements A //定义子类
{
public void print(){ //覆盖抽象方法
System.out.println("hello");
}
};
public class test
{
public static void main(String args[]){
A a = new B();//通过子类为抽象类实例化
a.print();
}
}


1.2 抽象类的应用

abstract class Person
{
private String name;
private int age;
public Person(String name,int age){
this.name = name;
this.age = age;
}
public String getName(){
return this.name;
}
public int getAge(){
return this.age;
}
public void say(){
System.out.println(this.getContent());
}
public abstract String getContent();
};
class Student extends Person
{
private float score;
public Student(String name,int age,float score){
super(name,age);
this.score = score;
}
public String getContent(){
return "学生信息--->姓名:"+super.getName()+
"年龄:"+super.getAge()+"成绩:"+this.score;
}
};
class Worker extends Person
{
private float salary;
public Worker(String name,int age,float score){
super(name,age);
this.salary = salary;
}
public String getContent(){
return "工人信息--->姓名:"+super.getName()+
"年龄:"+super.getAge()+"工资:"+this.salary;
}

};
public class test01
{
public static void main(String args[]){
Person p1 = new Student("张三",23,56.0f);
p1.say();
Person p2 = new Worker("张er",26,560.0f);
p2.say();
}
}

1.3 设计模式


interface USB //定义USB接口
{
public void start();//USB设备开始工作
public void stop();//USB设备结束工作
}
class Computer
{
public static void plugin(USB usb){//电脑上可以插USB
usb.start();
System.out.println("------------USB设备工作");
usb.stop();
}
}
class Flash implements USB
{
public void start(){
System.out.println("U盘开始工作");
}
public void stop(){
System.out.println("U盘停止工作");
}

}
class Print implements USB
{
public void start(){
System.out.println("打印机开始工作");
}
public void stop(){
System.out.println("打印机停止工作");
}

}
public class test02
{
public static void main(String args[]){
Computer.plugin(new Flash());
Computer.plugin(new Print());

}
}

1.4 工厂设计模式

分享到:
评论

相关推荐

    Java设计模式学习笔记

    ### Java设计模式学习笔记 #### 1. 设计模式的七大原则 ##### 1.1 设计模式的目的 设计模式是一种解决特定问题的通用解决方案,它可以帮助开发人员编写出更高质量、更容易维护和扩展的代码。设计模式的目标在于...

    Java设计模式学习笔记.pdf

    在学习Java设计模式时,掌握其概念、应用、优点和缺点非常重要。设计模式是软件开发中经常使用的一种通用解决方案模板,用于解决特定上下文中的常见问题。它们源于设计模式的研究,通常被认为是软件设计中的最佳实践...

    java学习笔记及设计模式

    Java学习笔记及设计模式是程序员进阶过程中必不可少的资源,涵盖了广泛的Java基础知识和高级概念,同时结合了设计模式这一软件工程的重要组成部分。本资源集合旨在帮助开发者深化对Java语言的理解,提升编程技能,并...

    根据《JAVA与设计模式》整理的笔记及示例代码

    这份"根据《JAVA与设计模式》整理的笔记及示例代码"涵盖了Java语言和设计模式的核心概念,旨在帮助开发者理解和应用这些模式。 一、设计模式的基本概念 设计模式是对在特定情境下软件设计问题的解决方案的一种描述...

    《Java学习笔记》

    这份《Java学习笔记》包含了丰富的知识内容,旨在帮助学习者全面掌握Java编程技术。笔记分为7个PDF部分,覆盖了从基础到高级的Java编程概念。 1. **Java基础知识**:这部分内容通常包括Java的历史背景、环境配置、...

    Java学习笔记.pdf

    Java学习笔记.pdf Java 是一种广泛应用的编程语言,它的开发环境、语言特点、基础语法等方面的知识是初学者必须掌握的。本资源提供了一个系统的 Java 学习笔记,涵盖了 Java 基础、面向对象、Java SE 核心等方面的...

    Java学习笔记整理

    这些学习笔记将带你深入了解Java的核心概念,特别是面向对象编程和集合框架。以下是对每个文件内容的详细阐述: 1. **Day0804_HashMap的基本使用.docx**:HashMap是Java集合框架中的一个重要组件,它提供了键值对的...

    java学习笔记 java学习笔记

    Java学习笔记涵盖了许多核心概念,包括面向对象编程的各个方面。以下是对这些知识点的详细解析: 1. **继承中方法的重写**: 当子类重写父类的方法时,子类方法的访问权限必须至少等于或大于父类中对应方法的访问...

    JAVA学习笔记

    在笔记中,可能会深入探讨类与对象、接口、抽象类等核心概念,以及如何运用设计模式如工厂模式、单例模式和观察者模式等。 其次,JAVA的多线程设计模式是提升程序并发性能的关键。JAVA提供了丰富的线程API,包括...

    JAVA学习笔记和例子程序值得看看

    这份"JAVA学习笔记和例子程序值得看看"的压缩包显然包含了作者在深入学习Java过程中的重要发现和理解,以及帮助深化概念理解的示例程序。让我们来详细探讨一下可能包含的知识点。 1. **基础语法**:Java的基础包括...

    韩顺平_Java设计模式笔记.docx

    #### 第2章 设计模式七大原则 - **设计模式的目的**:设计模式旨在应对软件开发中的耦合性、内聚性及可维护性、可扩展性、重用性、灵活性等方面的挑战,从而使程序更加可靠且易于扩展。 通过以上内容,我们可以...

    韩顺平_java设计模式笔记

    Java设计模式是软件开发中的一种最佳实践,它们是为了解决特定场景下的设计问题而发展起来的。23种设计模式被广泛应用于提高代码的可重用性、可读性、可维护性和灵活性。韩顺平老师的Java设计模式课程通过生活中的...

    Java设计模式学习.pdf

    文档中描述的是Java设计模式学习笔记,目前涉及了7种设计模式,但没有具体指明这7种模式是什么,计划后续增加更多的模式。虽然文件内容中存在OCR扫描的识别错误,但不影响我们从整体上把握设计模式的脉络和学习方法...

    Java语言程序设计学习笔记

    14. **抽象类与接口**:抽象类用于定义通用的行为,接口则用于规范实现。 15. **异常处理**:使用try-catch-finally结构捕获和处理异常,以及throw和throws关键字的使用。 16. **字符串与字符串类**:String类的...

    java lecture note(Java学习笔记)

    Java学习笔记:全面掌握Java编程的核心知识与技能 在当今的软件开发领域,Java作为一种流行的、功能强大的面向对象编程语言,被广泛应用于各种场景,包括Web应用、移动应用、企业级应用等。本篇Java学习笔记旨在为...

    java超强笔记

    最后,笔记可能还会涉及一些设计模式,如单例模式、工厂模式、观察者模式等,这些都是软件设计中常用的最佳实践。 总的来说,"Java超强笔记"是一份全面覆盖Java基础知识的教程,无论你是零基础的新手还是想要巩固...

    300Java设计模式部分学习笔记

    以下是一些在尚学堂300Java设计模式部分学习笔记中涉及的设计模式的知识点: 创建型模式: 创建型模式主要解决对象创建的问题,确保系统的灵活性和封装创建细节。学习笔记中提到了5种创建型模式: 1. 单例模式...

    Java 版设计模式学习笔记-java-design-patterns.zip

    这个“Java版设计模式学习笔记”涵盖了多种设计模式,旨在帮助开发者更好地理解和应用这些模式。让我们深入探讨一下其中可能包含的关键知识点。 一、单例模式 单例模式确保一个类只有一个实例,并提供一个全局访问...

Global site tag (gtag.js) - Google Analytics