zoukankan      html  css  js  c++  java
  • java之面向对象---上

    1:值类型

    八大类型:整性—>byte(1字节),short(2字节),int(4字节),long(8字节);

                  浮点数—>float(4字节)--8位整,23位小数,1位符号;double(8字节)--11位整数,52位小数,1位符号

                  字符—>char(2字节)---汉语的原因吧

                   逻辑型—>bool(1bit)

    其它数据类型:类类型。

    存储方式:8大类型变量存储于栈中;是值类型

                  类类型变量,是引用类型,对象存放于堆中,在栈中存引用值,大小固定为4字节。

                                 只能通过new来构造对象,不能像c++通过构造函数形式如 : 类名  对象  =  类名();因为这种是存入栈中的。

    2:数组

    数组定义兼容了c++的形式,同时增加了新的形式,这和c#一致的。

    但是它的存储形式没有copy c++的形式,它都是将元素存放于堆中,栈中这是有它的引用值。

    同时它依然具有静态赋值,和动态赋值效果。

    3:类

    类的很多方面和c#是一致的,和c++有些差别;

    例如:

    差异1:c++可以多继承,java不能

    差异2:c++不能在定义时不能初始化,java可以;

    差异3:c++关键字public只需要写一次,而Java需要每个成员都得写;

    差异4:多态性上,c++是通过基类标有虚函数的才会有这种效果,而java确只要方法相同,就会认为有这种效果。

    差异5:继承类型中多了default形式,这是因为有了包这个概念,其实实质和c#或者c++的命名空间类似,但是比其更加清晰。

    差异6:Java没有指针,而c++有

    差异7:java有初始化块代码,而c++没有

    差异8:java组合方式是通过内嵌父类对象,而c++组合方式通过多继承。

    4:关于公有默认情况

    c++中类默认是私有;struct默认是公有;结构体写入栈中

    java没有结构体,类默认为私有的。

    C#中有结构体,默认是私有的;结构体写入栈中。此时即使用的是new关键字。

  • 相关阅读:
    排序算法分析
    Android学习之DragEvent
    Android Studio导出Jar包
    Android中的一些基础知识(三)
    Android中的一些基础知识(一)
    Android中的一些基础知识(二)
    Android学习之Drawable(一)
    Android消息机制之Handler
    Android滑动事件冲突
    Android创建窗口(一)创建应用窗口
  • 原文地址:https://www.cnblogs.com/miner007/p/3853638.html
Copyright © 2011-2022 走看看