现在的位置: 首页 > 综合 > 正文

Java和C语言,c++的区别

2014年06月15日 ⁄ 综合 ⁄ 共 2150字 ⁄ 字号 评论关闭

Java类和对象

类的定包括声明和类体两部分

[修饰符] class类名 [extends 父类名][implements接口列表]
{
   ......//类体部分
}

1.“[]”中的内容为可选部分。
2.修饰符分访问控制修饰(如:public)和类型修饰(如:abstract,final)。

abstract声明这个类是抽象类,即这个类不能被实例化。

抽象类用来描述事一般状态和行为,然后在子类中再去实现这些状态和行为。

抽象类的定义

abstract class 类名称{

成员变量的定义;

方法(){............}//定义具体方法

abstract 方法();//定义抽象方法

}

[说明]

1.在抽象类中可以包含具体方法和抽象方法,非抽象类中一定不能有抽象方法。

2.抽象类表示的是一种抽象概念,不能被实例化为对象。

[注意]

抽象类不能用final来修饰,即一个类不能既是最终类又是抽象类。

 abstract不能与private、static、final、native并列修饰同一个方法。

final声明该类不能被继承,即没有子类。
3.关键字class引导要定义的类,类名为一个标识符,通常以大写字母开始的。
4.关键字extends引导该类要继承的父类。且在extends之后只能跟唯一一个父类名,即定义类时使用extends只能实现单继承。
5.关键字implements引导该类所实现的接口序列

类的成员属性的定义格式如下:
[修饰符] 类型 变量名;
类的成员方法的定义格式如下:
[修饰符] 返回值类型 方法名 ([参数定义列表])[throw异常列表]
{
 ......//方法体
}

public class Point{//类名为Point

     private int x;//x坐标
     private int y;//y坐标
     public void move(int x1,int y1)
        {
          x = x1;
   y = y1;
        }
     public String toString()//对象的字符串的描述表示
 {
   return "点:"+x+","+y;
 }

}

public static void main(String args[])
{
  Point p1 = new Point();//创建一个Point对象
  Point p2 = new Point();//创建另一个Point对象
  Point p3 = p1;
  p1.move(5,8);
  p2.x = 12;
  System.out.println("p1"+p1);
  System.out.println("p2"+p2);
  System.out.println("p3"+p3);
}
//运行结果:
  p1点:5,8
  p2点:12,0
  p3点:5,8

 

变量作用域

 

1.成员变量:其作用域是整个类体。成员变量定义时系统会自动赋默认初值。
2.局部变量:在定义时系统不会自动赋默认初值。
3.方法参数:其作用域是整个方法。
4.异常处理:其作用范围是catch后面跟随的异常处理块。
如:
try
{
      int x = 5/0;
}
catch(ArithmeticException e)//异常处理参数的有效范围
{
      System.out.pritln("产生异常:"+e);    
}

 

类变量和静态方法

 

 

用static修饰符修饰的属性是仅属于类的静态属性,相应的成员变量也称类变量或者静态变量。
 (1)在本类中直接访问,如:k++.
 (2)通过类名作前缀访问,如:A.k.
 (3)通过类的一个对象作前缀访问,如:x1.k++.

Java类包括两种类型的成员变量:实例成员变量和类成员变量。简称实例变量和类变量。用static修饰的变量是类变量。
类变量和实例变量的区别是,第一次调用类的时候,系统仅为类变量分配一次内存。不管该类要创建多少对象,所有对象共享该类的类变量。因此,可以通过类本身或某个对象来访问类变量。

public class A
{
    static int k = 3;
    public static void main(String args[])
    {
        A x1 = new A();
        x1.k++;
        A x2 = new A();
        x2.k = 5;
        k++;
        System.out.println("k="+A.k);
    }
}

this

this出现在类的实例方法或构造方法中,用来代表使用该方法的对象。用this作前缀可以访问当前对象的实例变量或成员方法。
this.实例变量
this.成员方法(参数)
this的用途主要包括:
(1)在实例变量和局部变量名称相同时,用this作前缀来特指访问实例变量。
(2)把当前对象的引用作为参数传递给另一个方法。
(3)在一个构造方法中调用同类的另一个构造方法,形式为:this(参数)。但要注意,用this调用的构造方法,必须是方法体中的第一个语句。   

匿名对象的使用               

匿名对象的使用方式之一:当对对象的方法只是用一次时,可以用匿名对象来完成,这样写比较简单
如果对一个对象进行多个成员使用,必须给这个对象取个名字。
匿名对象使用方式二:可以将匿名对象作为实际参数进行传递。                    

 

抱歉!评论已关闭.