package $interface;

 public interface ILeaveHome {
public abstract int a();
public abstract int b();
public abstract int c();
public abstract int d(); }
 package $interface;

 public abstract class AbstractTools {
private String abs01;//private的要设置访问器,外部的才可以访问
private String abs02;
public AbstractTools(String abs01,String abs02)
{
this.abs01=abs01;
this.abs02=abs02;
} public void tools1() {
System.out.println("zzw abstract");
}
public abstract int tool2(); public void setAbs01(String abs01)
{
this.abs01=abs01;
}
public String getAbs01()
{
return abs01;
}
public void setAbs02(String abs02)
{
this.abs02=abs02;
}
public String getAbs02()
{
return abs02;
}
}
 package $interface;

 public class LeaveHomeImpl extends AbstractTools implements ILeaveHome{

     public LeaveHomeImpl(String a,String b){
super(a, b);//调用父类的构造方法 }
public int tool2(){
int a=6666;
return a; }
public int a(){
int a=1;
return a;
}
public int b(){
int b=1;
return b;
}
public int c(){
int c=1;
return c;
}
public int d(){
int d=1;
return d;
} public static void main(String args[])
{
String z="z";
String z6="z6";
LeaveHomeImpl home=new LeaveHomeImpl(z,z6);
System.out.println("home.a()="+home.a());
System.out.println("home.b()="+home.b());
System.out.println("home.c()="+home.c());
System.out.println("home.d()="+home.d());
System.out.println("home.tool2()="+home.tool2());
System.out.println("getAbs01="+home.getAbs01());
System.out.println("getAbs02="+home.getAbs02());
home.tools1(); } }
 package $interface;

 public class LeaveHomeTwice extends LeaveHomeImpl{
String a;
String b; public LeaveHomeTwice(){//第一种构造方式, super("a","b");//传值进去的时候会自动调用父类的有参数的构造方法 }
public LeaveHomeTwice(String a,String b){//带参数的构造方法,体现了构造方法的overload,构造方法的重载 super(a,b);//改变了父类的值 }
//方法的override,方法的覆盖,对父类的覆盖
public int tool2(int a){ int zzw;
zzw=a;
return zzw; } public static void main(String args[])
{
int num=123;
LeaveHomeTwice a=new LeaveHomeTwice();//对应第一种构造方式
//LeaveHomeTwice a=new LeaveHomeTwice("zzwtwice","aiguotwice");//对应第二种构造方式
System.out.println(a.a()+"\t"+a.b()+"\t"+a.c()+"\t"+a.d()+"\t"+a.tool2(num)); a.tools1();
System.out.println("getAbs01:"+a.getAbs01());
System.out.println("getAbs02:"+a.getAbs02()); } }

自己做的demo---宣告可以在java世界开始自由了的更多相关文章

  1. 《算法导论》第二章demo代码实现(Java版)

    <算法导论>第二章demo代码实现(Java版) 前言 表示晚上心里有些不宁静,所以就写一篇博客,来缓缓.囧 拜读<算法导论>这样的神作,当然要做一些练习啦.除了练习题与思考题 ...

  2. java 世界中Annotation

    java 世界中Annotation 在github上开始汇总一些自己学习,收集,总结,经验的一些信息,有利于跟踪,修改,提升.如果你感兴趣 可以关注一下,也可以提供自己的内容进来. https:// ...

  3. 原来Java世界里也有这么多精彩的故事,学Java真有趣!

    大千世界,无所不有.这世上不光有人类世界,还有咱们的java世界.今天就由我这个实习导游带领你们了解了解咱们的java世界奇妙之处.   有一种暖男叫catch,有一种真爱叫try---catch,世 ...

  4. Android 开创java世界(JNI Invocation API)

    在Android的世界中,由名称为app_process的C++本地应用程序(路径为:framework/base/cmds/app_process/app_main.cpp)调用JNI Invoca ...

  5. 基础篇-1.1走进Java世界

    在走进Java世界之前,我们势必先了解下Java是什么?Java是一门面向对象的编程语言,是静态面向对象编程语言的代表,极好得实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程.Java具有 ...

  6. Java 世界的盘古和女娲 —— Zygote

    本文基于 Android 9.0 , 代码仓库地址 : android_9.0.0_r45 文中源码链接: Zygote.java ZygoteInit.java ZygoteServer.java ...

  7. 当音乐学博士搞起编程,用一本书改变了Java世界!

    前言 说到Spring,也许现在的开发者们最先想到的是 Josh Long 超快的语速与现场代码能力,让很多Java开发者折服. 然后Spring的历史上,最传奇的还是要数其创始人:Rod Johns ...

  8. android10Binder(五)java世界的binder:AndroidFramework

    java世界的binder:AndroidFramework 目录 java世界的binder:AndroidFramework 一.前言 二.SystemServer进程的open.mmap 三.A ...

  9. 使用Cydia Substrate 从Native Hook Android Java世界

    这里介绍了如何使用Cydia Substrate Hook安卓Java世界.这篇文章介绍如何从Native中Hook 安卓Java世界. 手机端配置见之前文章. 一.建立工程 建立一个Android工 ...

随机推荐

  1. 17.1.1.2 Setting the Replication Slave Configuration

    17.1.1.2 Setting the Replication Slave Configuration 在一个复制slave, 你必须创建一个唯一的server ID,如果这个没有做,slave设置 ...

  2. Java函数参数传递方式详解

    在阅读本文之前,根据自己的经验和理解,大家可以先思考并选择一下Java函数的参数传递方式: A. 是按值传递的? B. 按引用传递的? C. 部分按值部分按引用? 此处暂不宣布正确答案,我们通过一个简 ...

  3. 【CF】3B Lorry

    这道题目网上有几个题解,均有问题.其实就是简单的贪心+排序,没必要做的那么复杂.一旦tot+curv > v时,显然curv==2, 有三种可能:(1)取出最小的curv==1的pp,装入当前的 ...

  4. ServiceModel Metadata Utility Tool (Svcutil.exe)

    https://msdn.microsoft.com/zh-cn/library/aa347733.aspx 参数: /directory:<directory> Directory to ...

  5. WordPress Events Manager插件多个跨站脚本漏洞

    漏洞名称: WordPress Events Manager插件多个跨站脚本漏洞 CNNVD编号: CNNVD-201310-196 发布时间: 2013-10-15 更新时间: 2013-10-15 ...

  6. Json数据异步绑定到界面的Table并且自动刷新

    转自:http://blog.csdn.net/jianxin1009/article/details/8565828‘ 做Winform习惯了,大家都习惯设置datasource这样的写法. 如果想 ...

  7. UNion ALL 和 UNION 的区别

    UNION: 指定合并多个结果集并将其作为单个结果集返回.ALL: 将全部行并入结果中.其中包括重复行.如果未指定该参数,则删除重复行.

  8. Git报错:insufficient permission for adding an object to repository database .git/objects

    在本地搭建Git服务器后,在开发机上push新代码,发现Git提示: insufficient permission for adding an object to repository databa ...

  9. python 零散记录(六) callable 函数参数 作用域 递归

    callable()函数: 检查对象是否可调用,所谓可调用是指那些具有doc string的东西是可以调用的. 函数的参数变化,可变与不可变对象: 首先,数字 字符串 元组是不可变的,只能替换. 对以 ...

  10. Yii PHP 框架分析(四)

    作者:wdy http://hi.baidu.com/delphiss/blog/item/c15b314f05f9dfc0d0c86a26.html Yii应用的入口脚本最后一句启动了WebAppl ...