java学习---以书为路

参考书<java语言编程基础教程> 宋振会著

java与C++的不同:

  1. java是纯面向对象的,java的每个语句都写在类內;而C++的main方法和全局变量是在类外的
  2. java与C++比多了两个基本数据类型,byte和boolean(C++中是bool)
  3. java没有C++中的指针和结构struct
  4. java数据类型大小固定,与平台无关,而C++与具体平台有关

java的基本数据类型:

    • boolean 1bit
    • byte  8bit     1byte
    • char  16bit    2byte
    • short  16bit   2byte
    • int  32bit     4byte
    • float  32bit   4byte
    • long  64bit    8byte
    • double  64bit  8byte

C++基本数据类型:

C++在32位os下, bool 1byte, char 1byte, short 2byte, int 4 byte, float 4byte, long 4byte, double 8 byte.



NameDescriptionSize*Range*
char Character or small integer. 1byte signed: -128 to 127
unsigned: 0 to 255
short int (short) Short Integer. 2bytes signed: -32768 to 32767
unsigned: 0 to 65535
int Integer. 4bytes signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295
long int (long) Long integer. 4bytes signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295
bool Boolean value. It can take one of two values: true or false. 1byte true or false
float Floating point number. 4bytes +/- 3.4e +/- 38 (~7 digits)
double Double precision floating point number. 8bytes +/- 1.7e +/- 308 (~15 digits)
long double Long double precision floating point number. 8bytes +/- 1.7e +/- 308 (~15 digits)
wchar_t Wide character. or 4 bytes 1 wide character

C++为了兼容C,允许在类外有独立的函数,所以C++实际上是在面向过程的基础上,增加了面向对象的机制

关于继承,java不允许多重继承,但可以通过接口implements来实现

java继承的关键字是extend,而C++没有继承关键字,只有 ':' 加 public,private,protect这个来修饰继承的等级属性

java:

public class A extend B{

}

c++:

public class A: public B{

};

java构造函数

构造函数(方法)注意几个特点:

1.函数名与类名相同

2.没返回、没有方法类型、也不能定义成void

3.程序自动调用、一个类可以定义多个构造函数,构造函数可以重载、以参数的个数,类型,或排列顺序区分

使用:

public class A {

       public String name;

       //构造函数,与类同名,无返回类型,去掉public则访问权限default

       public A (String name){

               this.name=name;

       }

}

java有四种访问权限 public , protected, private, default(无关键字,缺省)

default是包内的类可以访问,包级访问权限

C++中使用include包含库文件,如#include<vector>

在java中,使用import 包名.* ;  //导入这个包的所有类

导入具体某个类: import 包名.类名;

定义某个类属于某个包

在.class文件的头部, 写上package 包名;

C++中抽象类关键字virtual, java中抽象类和方法关键字abstruct

    

原文地址:https://www.cnblogs.com/hanying/p/3803528.html