Java与C++语法的区别

1. 注释可以在Java程序中起到文档标记的作用

类文档标记:

1)@version

2)@author

3)@param

4)@return

5)@exception

2. Java的字符占两个字节,是Unicode编码

3. 作用域——

Java不存在全局和局部作用域。

不重名:Java程序块不能将内部作用域声明的变量与其外部作用域声明的变量重名。

4. Java程序不可能在类外的全局区域有方法。

5. Java数组

定义:

int  arr[ ] = new int[10];

与数组相关的方法:

1)复制数组

System.arrycopy(...);

2)数组排序

Array.sort(arrayname);

6. Java的类

1)new语句的类名后要有一对圆括号

Man p1 = new Man();

类名后的句柄 p1,相当于C++的指针,引用一个Man的对象

2)对象的比较

操作符==时

两个变量所指内存地址相等的时候,才能返回true

3)this引用句柄

构造方法中可以通过this调用另一个构造方法

{... this(...,...,...);}

7.垃圾回收机制

数组和对象分配在堆上

数组和对象在没有引用变量指向它时才会变成垃圾,不能再被使用,但仍然占据着内存,在随后一个不确定的时间被垃圾回收器释放掉,这也是Java占内存的原因。

8.static关键字

注意:不能把任何方法体内的变量声明为静态(只能把类的成员声明为静态成员)

1)静态代码块

class Code{
    {
      System.out.println("Code的构造块");
    }

    static{
        System.out.println("Code的静态代码块");
        }

    public Code(){
        System.out.println("Code的构造方法");
        }
    }

不包含在任何方法体中的,当类被载入时,自动执行静态代码块,且只被执行一次,经常用作初始化类中属性;

在Java中,一个类装入JVM中经过3个步骤:装载、链接和初始化。因此,静态代码块执行在构造函数之前。

2)main方法是静态的

这个main()方法的声明为:public static void main(String args[])。必须这么定义,这是Java的规范。

因此在main()方法中,不能直接访问该类中的非静态成员。

9.类的继承

class A
{}
class B extends A
{}
class C extends B

子类构造的时候,需要在构造函数中super(参数)构造父类。在子类有方法或变量与父类有冲突时,可以用super. 来加以区别。 

class Student extends Person{
  public Student (String name, int age, String school) {
    super(name,age);
    this.school=school;
  }
}

10.抽象类与接口 

1)必须用abstract 关键字来修饰抽象类;抽象方法也必须用abstract来修饰。

含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否则这个子类还是抽象类。

2)接口interface——Java对C++多重继承的改进

接口是抽象方法和常量值的定义集合;

接口可以看作一种特殊的抽象类,只包含常量和方法的定义,而没有变量和方法的实现;

接口里的变量默认使用public static final标识的,因此,接口中定义的变量就是全局静态常量;

用implements关键字去实现一个接口中的所有或部分方法;

11. 对象的多态

Java中所有类都继承自Object类,Object是Java类层中最高层类

Object类中的getClass()、notify()、notifyAll()、wait()等方法不能被重写,因为这些方法被定义为final类型。

时间: 2024-08-09 22:02:45

Java与C++语法的区别的相关文章

Java和C#在面向对象上语法的区别

做了几年了开发一直没有总结什么,回到了家乡的小城做了一名培训班的教员,教授软件开发的知识.细小的知识从头细细嚼来,别有一番滋味.或是以前遗漏的太多,或是确实没有系统的学习过,教学生的过程中自己也对教材有了一遍系统深入的学习.虽然教的和学的都很肤浅,但是为了帮助学生们理解,然后自己也会思考为什么会这样?这种来自于最基础的思考,一直向上反馈,发现这种思考原来可以令自己进步的非常快.虽然目前还在思考入门阶段的问题,已经受益良多了.那么如果把之前的开发中的问题都思考一遍,又能收获多少能?写写博客吧,一直

【Java】基础语法

虽然说Java又是一门新的编程语言,但基础的语法部分还都是可以和之前学习的编程语言一样的. 既然被称之为语法,那就必然有一定的规则.其中,在标识符和关键字部分,我们就可以很明显的看出一些强制性的要求. 关键字不能作为标识符,标识符为小写字母等,这有着一系列的规则,然而我们也并不需要去记,按着常规走,结合自身的以往的一些经验,就没什么问题. 学习了这么久的编程语言,也是总结过很多次关于数据的知识点.而这一次,一层一层,把它们之间的关系联系的更紧密了. 数据在程序中是少不了的.而我们如何获取数据或者

java和python真的有区别吗?

Java和Python的特性区别! 这篇文章整合了java语言的特性和python语言的特性,希望可以帮到想要了解或初学编程的你! Python特性 Python是简单易学的:Python是一种代表简单主义思想的语言,它使你能够专注于解决问题而不是去搞明白语言本身.Python极其容易上手,因为Python有极其简单的说明文档. Python是速度快的:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快. Python是免费.开源的:Python是FL

Java与C语言的区别

Java与c都属于计算机的高级编程语言,都是为了方便人去编写出来东西控制计算机; 不同的是,Java是一种面向对象的语言,c是一门面向过程的语言,打个比方来说,你要给你朋友寄快递,Java的做法是找家快递公司,把快递交给快递公司,告诉快递公司需要送到你朋友所在地中你朋友手里,然后快递公司接到快递之后,会帮我们把快递送到目的地的你朋友的手中,这样我们就完成了我们的操作,这里面的快递公司就相当于一个对象;而对于面向过程的编程语言来说,由于没有对象的概念,所以他需要自己想办法走到你朋友所在的地方,找到

Java与c语言的区别!

Java与c语言的区别!Java与c都属于计算机的高级编程语言,都是为了方便人去编写出来东西控制计算机的.不同的是,Java是一种面向对象的语言,c是一门面向过程的语言.打个比方来说,你要给你朋友寄快递,Java的做法是找家快递公司,把快递交给快递公司,告诉快递公司需要送到你朋友所在地中你朋友手里,然后快递公司接到快递之后,会帮我们把快递送到目的地的你朋友的手中,这样我们就完成了我们的操作,这里面的快递公司就相当于一个对象;而对于面向过程的编程语言来说,由于没有对象的概念,所以他需要自己想办法走

Java的基本语法

Java的基本语法 ·String是字符串类型关键字,属于引用数据类型,不能通过强制类型转换的方式转换为基本数据类型: 但是可以通过方法的方式进行转换: ·进制 1,对于整数,有四种表示方式: 二进制->0.1,满2进1,以0b或0B开头表示 十进制->0-9,满10进1 八进制->0-7,满8进1,以数字0开头表示 十六进制->0-9及A-F,满16进1,以0x或0X开头表示,其中A-F不区分大小写 所有的数字在计算机的底层都是以二进制的形式存在的,计算机以补码的形式保存所有的整

java中ArrayList 、LinkList区别

转自:http://blog.csdn.net/wuchuanpingstone/article/details/6678653 个人建议:以下这篇文章,是从例子说明的方式,解释ArrayList.LinkedList,但是最好的方式还是看源代码.其实ArrayList就是一个动态数组,LinkedList是一个链表.  1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构.     2.对于随机访问get和set,ArrayList优于LinkedLis

Java——全局变量与局部变量的区别

在Java程序中,会根据变量的有效范围将变量分为成员变量和局部变量,通常类的属性成为累的全局变量(成员变量),成员变量在整个类中都有效,在类的方法体中定义的变量称为局部变量,局部变量只在当前代码体中有效不能用于类的其他方法中.成员变量可与局部变量的名字相同,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效,只取局部变量的值.举个例子: 1 public class Man{ 2 static int age=20; 3 public static void main(String[] ar

hadoop中Text类 与 java中String类的区别

hadoop 中 的Text类与java中的String类感觉上用法是相似的,但两者在编码格式和访问方式上还是有些差别的,要说明这个问题,首先得了解几个概念: 字符集: 是一个系统支持的所有抽象字符的集合.字符是各种文字和符号的总称,包括各国家文字.标点符号.图形符号.数字等.例如 unicode就是一个字符集,它的目标是涵盖世界上所有国家的文字和符号: 字符编码:是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其他东西的一个集合(如号码或电脉冲)进行配对.即在符号集