- 浏览: 251118 次
- 性别:
- 来自: 福州
文章分类
最新评论
-
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 1052有如下代码片段: public static void m ... -
foreach的原理
2013-07-05 14:49 819... -
java.util.Properties 简单用法
2013-04-25 10:05 16001. 认识properties文件 1、properties文 ... -
while 和 for 不完全相同
2013-03-07 11:05 7711. for和while的语法如下: for(initi ... -
(a + (a++)) 与 ((a++) + a)
2013-03-04 09:46 861直接上代码: public static void mai ... -
java 发送邮件错误收集
2012-10-31 19:00 8041. 报错: Exception in thread &qu ... -
Add Deployment java.lang.NullPointerException
2012-08-22 17:28 33421. 在用Myeclipse部署项目时候突然报错: 无法 ... -
Undefined exploded archive location
2012-08-22 17:14 9371. 用Myeclipse部署web系统wlms时候报如下错误 ... -
java @override 报错处理
2012-07-25 16:17 806有时候在自己电脑上编译通过的java代码,在别人那里却编译不通 ... -
java 环境变量配置
2012-07-25 10:01 926windows xp下配置JDK环境变量: 1.安 ... -
java 源码解析--LinkedList
2012-03-13 14:20 1152LinkedList 1.看源码前应该知道的知识点 ... -
java 源码解析--ArrayList
2012-03-13 09:51 1306ArrayList 1.看源码前应该知道的知识点 / ... -
java 关键字 clone
2012-02-24 17:24 8331. 最简单的clone例子 /** * */ ... -
java 基础之(equals hashcode)
2012-01-19 11:02 10861.equals 的等价关系 2. ... -
java 基础之(接口)
2011-11-28 15:20 901“interface”(接口)关 ... -
java 基础之(抽象类)
2011-11-28 15:15 926抽象方法 :它属于一种不完整的方法, 只含有一个声明,没有方法 ... -
位移运算符
2011-11-04 11:46 930package com.lgf.operation; / ... -
java 关键字 final
2011-10-25 09:52 8611. final 数据 package com.lgf.k ... -
java 基础语法
2011-10-22 09:26 1076Java 基础语法 1.标识符 ... -
报表 charts4j
2011-10-18 09:32 30481. 简介 charts4j is a Java chart ...
相关推荐
Educoder题目:Java面向对象 - 封装、继承和多态答案解析
Educoder题目:Java面向对象 - 封装、继承和多态的综合练习答案解析
java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素...
JAVA面向对象基础测试题-继承-封装-多态等测试题.docx
java基础_继承封装 多态,概念的梳理,对初学者很有帮助,看一遍就清楚了
java封装 继承与多态 程序设计 类与对象
封装继承多态总结
JAVA封装继承与多态PPT教案学习.pptx
构造函数在创建对象时初始化对象 包可用package 来申明 ,可用import 来导入包 目标 理解继承及其特点 运用JAVA程序实现继承 理解多态及其特点设计 运用JAVA程序实现多态 掌握访问修饰符和方法修饰符 继承 继承的...
JAVA 封装、继承、多态 三大特性以及实操
第3章 类的封装、继承和多态 第4章 接口、内部类和Java API基础 第5章 异常处理 第6章 图形用户界面 第7章 多线程 第8章 Applet应用程序 第9章 输入/输出流和文件操作 第10章 网络通信 第11章 数据库应用 第12章 ...
主要介绍了Java面向对象编程(封装/继承/多态)实例解析的相关内容,具有一定参考价值,需要的朋友可以了解下。
java---- 封装,接口,继承,覆盖,构造过程,多态,static、this、super、final用法
Design An ATM 设计一个ATM 需求 1)实现余额不足怎么办 2)密码登陆多次错误怎么办 3)检测卡有没有插入成功 要求使用到 封装、继承、多态
1、实验名称:类的继承、多态的应用 2、代码内容:学生管理类 3、【实验目的】 (1)进一步熟悉抽象类和抽象方法的定义 (2) 进一步掌握集成和多态的实现方式。
jave面向对象特性继承、封装、多态的实验报告,jave重要实验。
武汉理工大学-Java面向对象与多线程综合实验-(1)封装、继承与多态(IDEA实现)
Java面向对象三大特性思维导图 一、封装 封装的必要性:在对象的外部为对象的属性赋值,可能存在非法数据的录入,存在不安全隐患。就目前的技术而言,并没有办法对属性的赋值加以控制。所以要实现属性的封装非常重要...
学习Java程序入门-面向对象之封装,继承,多态(下).docx