1. C语言是面向程序的;C++和Java是面向对象的。
2.在Java中,最基本的单元就是类(class)。对于类成员变量,系统会给初始化,在定义时没有赋值,也不会报错,但是对于普通类型(int、string)等类型必须初始化,下面例子可以感受一下:
package practise1;
public class student {
int no;
String name;
float grade;
public static void main(String[] args) {
// TODO Auto-generated method stub
student stu = new student();
System.out.println(stu.no);
System.out.println(stu.name);
System.out.println(stu.grade);
}
}
3.上面代码中,定义一个student 类型的对象 stu,它表示一个指针(refrence)。
当把stu 赋值给另一个同类型对象stu2 时,两指针指向同一地址空间,并不另外开辟空间。
package practise1;
public class student {
int no;
String name;
float grade;
public static void main(String[] args) {
// TODO Auto-generated method stub
student stu = new student();
stu.no = 123;
stu.name = "Lily";
stu.grade = 90;
student stu2 = new student();
stu2=stu;
System.out.println(stu.grade);
stu2.grade = 80;
System.out.println(stu.grade);
}
}
输出结果:90
80
两对象指向同一空间,不管谁改变,空间内的值也发生变化。
而普通类型时,复制一份数据到重新开辟的地址空间中,原值不发生变化。
本文介绍了C语言与面向对象的C++和Java的区别,重点讲解了Java中类的概念、成员变量的初始化以及引用(对象)的特性。通过实例演示了Java对象共享内存和普通类型复制的区别。
870

被折叠的 条评论
为什么被折叠?



