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关键字。

  • 相关阅读:
    获取label标签内for的属性值-js
    js万亿级数字转汉字的封装方法
    a标签的伪元素的应用——link,hover,visited,active
    JS声明变量的写法
    VUE环境配置步骤及相关Git Bash命令的使用
    display:inline-block下,元素不能在同一水平线及元素间无margin间距的问题解决方法
    css变量的用法——(--cssName)
    img的属性alt 与 title的区别
    返回结果的HTTP状态码——《图解http》第四章
    HTTP报文内部的HTTP信息——《图解HTTP》第三章
  • 原文地址:https://www.cnblogs.com/miner007/p/3853638.html
Copyright © 2011-2022 走看看