抽象类:不能实例化!子类继承抽象类, 实例化子类对象才可以调用, 多态的体现;

抽象方法:必须被重写才能被调用;
静态方法:类名直接调用,或者实例化对象调用;
构造方法:new后面的括号里面带参数,就用带参数的构造方法实例化,
                   new后面的括号里面不带参数,就用无参构造方法实例化;
构造方法的重载: 例如,程序有参构造方法1和2
这里面还涉及到一个执行顺序的问题,详情对比程序运行结果
 
这块的学习一定不要单纯背诵,结合eclipse练习!

package practice;
public class 你好{
    public static void main(String[]  args){
        傻 nn = new 聪();
        nn.b(333);
        nn.c();
        nn.d();
        //静态方法的调用
        nn.a();
        nn.aa();
        nn.aaa(4);
        //静态方法最好用类名直接调用,如下
        傻.a();
        傻.aa();
        傻.aaa(3);
    }
}
abstract class 傻{
    //无参构造
    public 傻() {
        super();
        System.out.println("我是无参构造方法");
    }
    //有参构造
    public 傻(int x){
        System.out.println("我是有参构造方法1");
    }
    public 傻(String x){
        System.out.println("我是有参构造方法2");
    }
    static void a(){
        System.out.println("我是静态方法1");
    }
    static int aa(){
        System.out.println("我是静态方法2");
        return 0;
    }
    static int aaa(int x){
        System.out.println("我是静态方法3");
        return 0;
    }
    //普通有返回值的方法
    public int b(int x){
        System.out.println("1111111111111111111111111111111");
        return x;
    }
    //普通返回值类型为空的方法
    public void c(){
        System.out.println("22222222222222222222222222222222");
    }
    //抽象方法和接口相似,没有方法体;
    abstract int d();
}
class 聪 extends 傻{
    //子类继承父类,父类中的抽象方法必须重写
    @Override
    int d() {
        System.out.println("333333333333333333333333333333333");
        return 0;
    }
}
程序结果:
 
我是无参构造方法
1111111111111111111111111111111
22222222222222222222222222222222
333333333333333333333333333333333
我是静态方法1
我是静态方法2
我是静态方法3
我是静态方法1
我是静态方法2
我是静态方法3

java 抽象(abstract) 构造 静态(static) 总结--2017-03-02的更多相关文章

  1. JAVA中abstract,interface,final,static语法

    转自:http://www.cnblogs.com/yueue/archive/2010/04/20/1715863.html 一,抽象类:abstract     1,只要有一个或一个以上抽象方法的 ...

  2. java 抽象方法 能用 静态 static 修饰,或者 native 修饰 么

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha static与abstract不能同时使用 用static声明方法表明这个方法在不生成类 ...

  3. Java学习 1.5——静态Static的作用与用法

    在网上查阅资料,静态大约分为这几部分:修饰成员变量:修饰成员方法:静态代码块:静态导包,下面会用代码一一展示: 修饰成员变量: 一个类中,使用static修饰成员变量后,该变量变为全局变量,当再次ne ...

  4. java修饰符public final static abstract transient

    JAVA 修饰符public final static abstract transient  关键字: public final static abstract ...  1.public prot ...

  5. JAVA关于静态static的面试题

    JAVA关于静态static的面试题     版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net ...

  6. 2.java中c#中statc 静态调用不同之处、c#的静态构造函数和java中的构造代码块、静态代码块

    1.java和c#静态成员调用的不同之处 static 表示静态的,也就是共享资源,它是在类加载的时候就创建了 java中   可以通过实例来调用,也可以通过类名.成员名来调用,但是一般最好使用类名. ...

  7. 黑马程序员——JAVA基础之主函数main和静态static,静态代码块

    ------- android培训.java培训.期待与您交流! ---------- 主函数:是一个特殊的函数.作为程序的入口,可以被jvm调用. 主函数的定义: public:代表着该函数访问权限 ...

  8. C++和Java中的静态Static用法

    C++和Java中都有的一个静态关键字Static,可以放在类中的变量或者函数之前,就成了静态变量或者静态函数. 静态变量又分为静态全局变量和静态局部变量,可参见网上大神总结的C++全局变量,局部变量 ...

  9. java学习-初级入门-面向对象⑥-类与对象-静态static

    这次我们来学习静态(static) 知识点 1.静态方法只能调用静态变量 2.静态变量属于整个Class,会随着发生变化. 案例:定义一个自动增长的学生类. 题目要求: 定义一个学生类,除了姓名.性别 ...

随机推荐

  1. beforeunload

    <!DOCTYPE html> <html> <head> <title>BeforeUnload Event Example</title> ...

  2. 闭包用法,延迟tab

    var changeTab =( function () { var timeId = 0; return function (tabId) { if (timeId) { clearTimeout( ...

  3. UILable添加事件

    原文:http://blog.sina.com.cn/s/blog_9e8867eb0101dk6t.html 先需要声明的是:UILabel或UIImageView的 userInteraction ...

  4. PHP文件上传主要代码讲解

    导读:在php开发过程中,文件上传也经常用到,这里简单介绍下. 在php开发过程中,文件上传也经常用到,这里简单介绍下. 代码如下: <?php    if($_FILES['myfile'][ ...

  5. Angular - -ngKeydown/ngKeypress/ngKeyup 键盘事件和鼠标事件

    ngKeydown/ngKeypress/ngKeyup 该指令在按键按下/按键按下/按键松开时执行指定表达式. ngKeydown和ngKeypress略有不同,目前的测试是ngKeypress针对 ...

  6. git 配置SSH免密

    1.安装TortoiseGit(比较简单,直接在官网上下载安装包安装) 2.打开下图标识 点击 generate按钮 生成key(需要等一会)   3.生成Key保存成.ppk文件,记得存放路径,(建 ...

  7. 分析器错误消息: 无法识别的属性“targetFramework”。

    配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错.请检查下面的特定错误详细信息并适当地修改配置文件. 分析器错误消息: 无法识别的属性“targetFramework”.请注意属性名称区分 ...

  8. 安装Pomelo

    安装pomelo的过程中会使用到C++编译器. 请确保你的Windows系统满足以下两个条件: python(2.5<version<3.0). VC++ 编译器,包含在Visual St ...

  9. HDU4738(割边)

    Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  10. 小学生之Hibernate插入数据修改数据使用数据库默认值的实现

    最近在写一个案例,定时任务对数据库进行更新操作,废话不多说,上代码: @Component("taskJob") public class TaskJob extends Hibe ...