• java面向对象


    类和对象的区别

    概念:类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体

    局部变量和成员变量区别

    区别一:定义的位置不同

    定义在类中的变量是成员变量

    定义在方法中或者{}语句里面的变量是局部变量

    区别二:在内存中的位置不同

    成员变量存储在堆内存的对象中

    局部变量存储在栈内存的方法中

    区别三:生命周期不同

    成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失

    局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失

    区别四:初始化不同

    成员变量因为在堆内存中,所有默认的初始化值

    局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。

    面向对象的三个特征:

    封装,继承,多态。

    封装:

    l   封装的好处:

    n   1、提高了代码的复用性。

    n   2、隐藏了实现细节,对外提供可以访问的方式。便于调用者的使用。

    n   3、提高了安全性。

    private 私有: 不允许修改

    this哪个对象调用了this所在的方法,this就代表哪个对象。

    继承:

    类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法。

    extends  继承

    格式:class 子类 extends 父类 {}

    特点:

    当出现同名成员变量时,如果子类有,则继承子类,如果子类没有,则继承父类的

    super  代表父类对象

    在子类中若要访问父类中的成员变量,必须使用关键字super来完成。super用来表示当前对象中包含的父类对象空间的引用。

    格式:super.父类中的成员变量

    所有类的隐形父类叫Object

    方法重写:

    子类方法覆盖父类方法,必须保证权限大于父类权限。

    写法:返回类型 方法名 参数列表必须一样

    抽象类:

    abstract

    抽象方法定义的格式:

    public abstract 返回值类型 方法名(参数);

    抽象类定义的格式:

    abstract class 类名 {

    }

    1抽象类一定是个父类

    2抽象类中可以不定义抽象方法

    3抽象关键字abstract不可以和private/私有  共存

    接口:

    概念:接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”。

    接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成。这样将功能的定义与实现分离,优化了程序设计。

    接口的定义:

    使用interface代替了原来的class,其他步骤与定义类相同:

    l   接口中的方法均为公共访问的抽象方法

    l   接口中无法定义普通的成员变量

    接口中所有成员变量修饰符 public static final

    static 静态:只要被static修饰的成员 在外界可以直接通过 类名.成员 调用

    被final 修饰的变量叫常量,不能改变

    在接口中 所有方法的修饰符都是 public abstract

    类实现接口:implements

    格式:

    class 类 implements 接口 {

        重写接口中方法

    }

    多态:

    父类引用对象指向子类对象

        父类类型  变量名 =new 子类类型();

       

    父类引用指向子类对象成员变量特点:编译运行都看左边

        编译看父类,如果父类有,则运行时访问父类的成员变量

        如果父类没有 编译失败

     

        成员方法特点 :编译看左边 运行看右边

        编译看父类,如果父类有,则编译成功,运行时子类重写后的方法;

        如果父类没有,则编译失败

     

        Pe pe=new St();//向上转型

        System.out.println(pe.a);

       

    向下转型:一个已经向上转型的子类对象可以使用强制类型转换的格式,将父类引用转为子类引用

        向下转型后  就可以调用子类独有的方法

          

        instanceof 判断

      pe instanceof Pe

  • 相关阅读:
    边缘检测算法——Canny和LoG边缘检测算法
    Java读书笔记03 输入输出
    CMake入门
    二叉树及二叉树的遍历
    Java读书笔记11 图形程序——颜色 字体 图像
    XNA实现骨骼动画 归纳总结
    Java读书笔记09 内部类
    Java读书笔记02 基础知识
    Java用户界面 模型视图控制器(MVC)模式
    简单理解传值和传引用
  • 原文地址:https://www.cnblogs.com/hhthtt/p/10488028.html
Copyright © 2020-2023  润新知