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

  • 相关阅读:
    网站访问量和服务器带宽的选择
    PHP实现四种基本排序算法
    常用的PHP排序算法以及应用场景
    常见的mysql数据库sql语句的编写和运行结果
    MyBatis拦截器:给参数对象属性赋值
    《自律让你自由》摘要
    Java JDK1.5、1.6、1.7新特性整理(转)
    人人都能做产品经理吗?
    Windows下查询进程、端口
    一语收录(2016-09-18)
  • 原文地址:https://www.cnblogs.com/miner007/p/3853638.html
Copyright © 2011-2022 走看看