- 浏览: 257070 次
- 性别:
- 来自: 福州
文章分类
最新评论
-
rdsgf:
也就是导出。。。如何把生成的图片导出到本地,有没有接口?
报表 charts4j -
rdsgf:
你好,请问生成的图片如何保存到本地?
报表 charts4j -
刘焕杰:
楼主,为啥放进去后,我下载的中文文件名还是乱码呢?
[jspSmartUpload]------------>jspSmartUpload上传中文文件名 乱码问题 -
814687491:
Ext Panel 动态 加载 html -
yxyysu:
下载之后使用了,没有解决上传时中文名字乱码问题,请博主指导。
[jspSmartUpload]------------>jspSmartUpload上传中文文件名 乱码问题
封装
继承
父类 ExtendsFather.java
同包下的子类 ExtendsChildrenSamePackage.java
不同包下的子类 ExtendsChildrenOtherPackage.java
重载和重写 ExtendsOverRideLoad.java
多态
父类 Animal.java
多态实现
结果
例子2
/** * 所谓封装,就是将对象具有的成员变量和成员函数包装和隐藏起来,让外界无法直接使用, * 被封装的成员只能通过某些特定的方式才能访问。 * 实现封装有两个步骤: * 1、将不能暴露的成员隐藏起来,我们就不能让其在类的外部被直接访问或赋值。 * 实现方法是将该成员定义为私有的,在成员定义前加上private访问权限修饰符。 * 2、用公共方法来暴露对该隐藏成员的访问,可以给成员加上public修饰符,将该成员定义为公共的 */ package com.study.feature; /** * * @className :Package * @package : com.study.feature * @Description :封装性的测试 * @author:lgf * @date :2012 三月 12 10:20:35 * @version : 1.0 */ public class Package { // 使用private隐藏 private String strValue; // 通过get和set进行访问 public String getStrValue() { return this.strValue; } public void setStrValue(String strValue) { this.strValue = strValue; } }
继承
父类 ExtendsFather.java
/** * 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。 * 对象的一个新类可以从现有的类中派生。 * 1. 为什么要使用继承? * a.提高程序的扩展性。 b.提高了代码的重用性。 2. 子类能继承到父类的那些方法和属性 第一种:所有的属性和方法都被子类继承到了。 第二种: a、子类和父类在同一个包下: 公有的受保护的属性和方法被子类继承到了。 b、子类和父类不在同一个包下: 公有的方法和属性被子类继承到了。 3. 子类的对象能调用父类的那些方法和属性? a、子类和父类在同一个包下: 公有的受保护的属性和方法能被子类调用。 b、子类和父类不在同一个包下: 公有的方法和属性能被子类调用。 在类和抽象类中,默认的就是受保护的。 在接口中,默认的就是公有的。 */ package com.study.feature; /** * 父类 * @className :ExtendsFather * @package : com.study.feature * @Description :继承测试 * @author:lgf * @date :2012 三月 12 10:33:02 * @version : 1.0 */ public class ExtendsFather { // 定义不同四种修饰符的属性 private String privateValue; protected String protectedValue; String defaultValue; public String publicValue; // 定义不同四种修饰符的方法 private void privateFunction(){ System.out.println("privateFunction"); } protected void protectedFunction(){ System.out.println("protectedFunction"); } void defaultFunction(){ System.out.println("defaultFunction"); } public void publicFunction(){ System.out.println("publicFunction"); } }
同包下的子类 ExtendsChildrenSamePackage.java
package com.study.feature; /** * * * @className :ExtendsChildrenSamePackage * @package : com.study.feature * @Description : 同一个包下面的继承关系 * @author:lgf * @date :2012 三月 12 10:51:23 * @version : 1.0 */ public class ExtendsChildrenSamePackage extends ExtendsFather{ public static void main(String[] args) { ExtendsFather children = new ExtendsChildrenSamePackage(); //children.privateValue = "no"; 无法访问到 children.defaultValue = "ok"; children.protectedValue = "ok"; children.publicValue = "ok"; //除了private修饰的方法,其他都继承到了 //children.privateFunction(); children.defaultFunction(); children.protectedFunction(); children.publicFunction(); } }
不同包下的子类 ExtendsChildrenOtherPackage.java
/** * */ package com.study.featureSecond; import com.study.feature.ExtendsFather; /** * * @className :ExtendsChildrenOtherPackage * @package : com.study.featureSecond * @Description :不同包下面的继承关系 * @author:lgf * @date :2012 三月 12 10:50:47 * @version : 1.0 */ public class ExtendsChildrenOtherPackage extends ExtendsFather{ public static void main(String[] args) { ExtendsFather children = new ExtendsChildrenOtherPackage(); //children.privateValue = "no"; 无法访问到 //children.defaultValue = "no"; 无法访问到 //children.protectedValue = "no"; 无法访问到 children.publicValue= "ok"; //除了public修饰的方法,其他都未继承到了 //children.privateFunction(); //children.defaultFunction(); //children.protectedFunction(); children.publicFunction(); } }
重载和重写 ExtendsOverRideLoad.java
/** * */ package com.study.feature; /** * * @className :ExtendsClass * @package : com.study.feature * @Description :重载和重写 * @author:lgf * @date :2012 三月 12 11:00:35 * @version : 1.0 */ public class ExtendsOverRideLoad extends ExtendsFather { @Override public void publicFunction() { //super.publicFunction(); 可以调用父类的方法 System.out.println("Override publicFunction"); } public void publicFunction(String str) { //super.publicFunction(); 可以调用父类的方法 System.out.println("overload publicFunction"); } public static void main(String[] args) { ExtendsFather child= new ExtendsOverRideLoad(); //Override publicFunction child.publicFunction(); //child.publicFunction("s"); 仅仅只能使用到父类有的方法,重载的方法无法调用 ExtendsOverRideLoad childSecond = new ExtendsOverRideLoad(); //Override publicFunction childSecond.publicFunction(); //overload publicFunction childSecond.publicFunction("overLoad"); } }
多态
父类 Animal.java
/** * 1. Java中除了static和final方法外,其他所有的方法都是运行时绑定的 * 2. 构造方法是被隐式声明为static方法 * 3. 动态绑定 * 将一个方法调用和一个方法主体连接到一起称为绑定(Binding)。 * 根据绑定的时机不同,可将绑定分为“早期绑定”和“后期绑定”两种。 * 如果在程序运行之前进行绑定(由编译器和链接程序完成),称为早期绑定。 * 如果在程序运行期间进行绑定,称为后期绑定,后期绑定也称为“动态绑定”或“运行时绑定”。 * 在Java中,多态性是依靠动态绑定实现的,即Java虚拟机在运行时确定要调用哪一个同名方法。 * * 4. 多态总结 * 一、使用父类类型的引用指向子类的对象 * 二、该引用只能调用父类中定义的方法和变量 * 三、如果子类中重写了父类中的一个方法,那么在调用这个方法的时候, * 将会调用子类中的这个方法;(动态连接、动态调用) * 四、变量不能被重写(覆盖),”重写“的概念只针对方法, * 如果在子类中”重写“了父类中的变量,那么在编译时会报错。 * 5. 多态详解 多态是通过: * 5.1 接口 和 实现接口并覆盖接口中同一方法的几不同的类体现的 * 2 父类 和 继承父类并覆盖父类中同一方法的几个不同子类实现的. * * 6. 一个类型引用只能引用引用类型自身含有的方法和变量 */ package com.study.feature; /** * @className :Animal * @package : com.study.feature * @Description :多态的测试 * @author:lgf * @date :2012 三月 12 13:50:36 * @version : 1.0 */ public class Animal { public void eat(){ System.out.println("eating"); } }
多态实现
/** * */ package com.study.feature; /** * * @className :Cat * @package : com.study.feature * @Description :猫 * @author:lgf * @date :2012 三月 12 13:54:01 * @version : 1.0 */ public class Cat extends Animal{ public void eat(){ System.out.println("eating fish"); } }
/** * */ package com.study.feature; /** * * @className :Dog * @package : com.study.feature * @Description :狗 * @author:lgf * @date :2012 三月 12 13:55:38 * @version : 1.0 */ public class Dog extends Animal{ public void eat(){ System.out.println("eating Bone"); } }
结果
/** * */ package com.study.feature; /** * * @className :Main * @package : com.study.feature * @Description :多态测试 * @author:lgf * @date :2012 三月 12 13:57:11 * @version : 1.0 */ public class Main { public static void main(String[] args) { Animal animal = null; animal = new Animal(); animal.eat();//eating Animal cat = new Cat(); cat.eat();//eating fish Animal dog = new Dog(); dog.eat();//eating Bone } }
例子2
/** * */ package com.study.feature; /** * * @className :Father * @package : com.study.feature * @Description :多态 * @author:lgf * @date :2012 三月 12 14:53:41 * @version : 1.0 */ public class Father { public void functionOne(){ functionSecond(); } public void functionSecond(){ System.out.println("Father functionSecond"); } }
/** * */ package com.study.feature; /** * * @className :Children * @package : com.study.feature * @Description :测试 * @author:lgf * @date :2012 三月 12 14:55:15 * @version : 1.0 */ public class Children extends Father{ public void functionSecond(){ System.out.println("Children functionSecond"); } public static void main(String[] args) { Father c = new Children(); c.functionOne();//Children functionSecond } }
- demo.zip (7.3 KB)
- 下载次数: 3
发表评论
-
List 遍历 ConcurrentModificationException
2013-07-05 17:39 1109有如下代码片段: public static void m ... -
foreach的原理
2013-07-05 14:49 864... -
java.util.Properties 简单用法
2013-04-25 10:05 16321. 认识properties文件 1、properties文 ... -
while 和 for 不完全相同
2013-03-07 11:05 8091. for和while的语法如下: for(initi ... -
(a + (a++)) 与 ((a++) + a)
2013-03-04 09:46 897直接上代码: public static void mai ... -
java 发送邮件错误收集
2012-10-31 19:00 8401. 报错: Exception in thread &qu ... -
Add Deployment java.lang.NullPointerException
2012-08-22 17:28 33781. 在用Myeclipse部署项目时候突然报错: 无法 ... -
Undefined exploded archive location
2012-08-22 17:14 9851. 用Myeclipse部署web系统wlms时候报如下错误 ... -
java @override 报错处理
2012-07-25 16:17 854有时候在自己电脑上编译通过的java代码,在别人那里却编译不通 ... -
java 环境变量配置
2012-07-25 10:01 964windows xp下配置JDK环境变量: 1.安 ... -
java 源码解析--LinkedList
2012-03-13 14:20 1188LinkedList 1.看源码前应该知道的知识点 ... -
java 源码解析--ArrayList
2012-03-13 09:51 1337ArrayList 1.看源码前应该知道的知识点 / ... -
java 关键字 clone
2012-02-24 17:24 8631. 最简单的clone例子 /** * */ ... -
java 基础之(equals hashcode)
2012-01-19 11:02 11291.equals 的等价关系 2. ... -
java 基础之(接口)
2011-11-28 15:20 935“interface”(接口)关 ... -
java 基础之(抽象类)
2011-11-28 15:15 961抽象方法 :它属于一种不完整的方法, 只含有一个声明,没有方法 ... -
位移运算符
2011-11-04 11:46 968package com.lgf.operation; / ... -
java 关键字 final
2011-10-25 09:52 8991. final 数据 package com.lgf.k ... -
java 基础语法
2011-10-22 09:26 1109Java 基础语法 1.标识符 ... -
报表 charts4j
2011-10-18 09:32 32081. 简介 charts4j is a Java chart ...
相关推荐
Educoder题目:Java面向对象 - 封装、继承和多态答案解析
Educoder题目:Java面向对象 - 封装、继承和多态的综合练习答案解析
java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素...
本资源摘要信息将对 Java 基础知识点进行总结,涵盖继承、封装、多态等概念,并对面向对象的设计、数据库设计模式等进行讲解。 继承 继承是 Java 中的一种机制,允许一个类继承另一个类的属性和方法。继承的语法是...
OOP 的主要特征包括封装、继承和多态。 1. **封装**:封装是将数据和操作数据的方法捆绑在一起,隐藏对象的属性和实现细节,仅对外提供公共访问方式。这样可以减少外部环境对对象的影响和破坏,提高代码的安全性和...
JAVA 封装继承与多态是面向对象程序设计语言中三个非常重要的概念,正确理解和应用这些概念是编写高质量软件的前提。 在实际应用中,封装、继承和多态三个概念都是相互关联、相互影响的。正确地使用这些概念可以...
java封装 继承与多态 程序设计 类与对象
封装继承多态总结
在 Java 中,面向对象编程主要体现在三大特征:封装、继承和多态。 封装是指隐藏对象的内部细节,而仅暴露必要的信息给外部世界。通过封装,可以保护对象的内部状态,并提供对外部访问的接口。在 Java 中,封装可以...
封装、继承、多态 一、 封装 封装是面向对象编程的三大特性之一,它是指将同一类事物的特性与功能包装在一起,对外暴露调用的接口...Java 面向对象的三大特性是:封装、继承与多态。这三大特性是面向对象编程的核心。
封装、继承和多态是面向对象编程的三大特性,它们是Java、C#、Python等许多编程语言中的核心概念。本文将通过一个实例详细解析这三个概念,并以`ConsoleApplication1`为例来阐述。 首先,封装是面向对象编程的基础...
第3章 类的封装、继承和多态 第4章 接口、内部类和Java API基础 第5章 异常处理 第6章 图形用户界面 第7章 多线程 第8章 Applet应用程序 第9章 输入/输出流和文件操作 第10章 网络通信 第11章 数据库应用 第12章 ...
面向对象编程是Java的核心特性,本教程主要涵盖了三个关键概念:封装、继承和多态,以及相关的访问修饰符和方法修饰符。 封装是面向对象编程的基础,它涉及到将数据(属性)和操作这些数据的方法(行为)组合在一个...
Design An ATM 设计一个ATM 需求 1)实现余额不足怎么办 2)密码登陆多次错误怎么办 3)检测卡有没有插入成功 要求使用到 封装、继承、多态
在本实验报告中,我们将深入探讨Java编程中的两个核心概念:类的继承和多态的应用。实验主要目标是加深对抽象类和抽象方法的理解,并掌握如何在实际编码中实现类的继承以及多态性。 首先,让我们理解抽象类和抽象...
面向对象编程是Java的核心特性,它包括三个主要概念:封装、继承和多态。下面将分别详细介绍这三个概念以及它们在Java编程中的应用。 **封装**是面向对象编程的基础,它强调将数据和行为捆绑在一起,形成一个独立的...
多态是指同一种行为在不同对象上有不同的表现形式,它是面向对象的三大特性之一(封装、继承、多态)的重要组成部分。 1. 方法重载(Overloading):在同一个类中,可以定义多个具有相同名称但参数列表不同的方法,...
Java是一种广泛使用的面向对象的编程语言,其强大的并发处理能力使得多线程编程成为Java...通过完成这个实验,学生们将能够更好地理解和应用Java的封装、继承、多态特性,以及在多线程环境下编写高效、安全的代码。