java—学习笔记(java语言程序设计基础篇&java程序设计)

来源:互联网 发布:ubuntu没有汉语输入法 编辑:程序博客网 时间:2024/05/04 12:25
构造方法:
1.必须与定义它的类名有完全相同的名字
2.可以重载(同名但不同结构)
这些重载的构造方法可以相互调用,但必须通过this()调用,且必须作为构造方法的第一条语句。
子类的构造方法中可以调用其父类的构造方法,但必须通过super()调用,且必须作为子类构造方法的第一条语句。
3.由类创建一个对象时,使用new操作符调用
类名 对象名=new 构造方法名(实际参数),
运算符new的作用是给对象开辟内存空间,构造方法的实参用来初始化对象,然后返回一个引用地址给对象名。
4.类可以不声明构造方法
这种情况下,类中隐含地声明了一个方法体为空的无参构造方法,称为默认构造方法。只有当类中没有明确声明构造方法时,它才会自动生成。
5.没有返回值类型
甚至连void都没有,void类型是没有返回值的类型。
6.访问控制符
public protected private
7.不能用static修饰

引用类型和引用变量:
1.对象通过对象引用变量来访问,该变量包含对象的引用地址,使用如下的语法来声明:
类名 对象引用变量名;
2.类所定义的类型称为引用类型。任何类型为类的变量都能引用该类的一个实例。
来举个简单的例子来理解:
Circle myCircle;声明一个引用变量myCircle,类型为Circle类型
myCircle = new Circle() ;创建一个Circle对象,并将它的引用赋值给引用变量myCircle
一条语句完成:
Circle myCirclenew Circle();
注:对象引用变量事实上只包含它所引用对象的引用地址。
大多数时候我们创建一个对象,并将它赋给一个变量,以后就能通过这个变量来引用该对象。
但有时候,一个对象并不需要引用:
new Circle(); 
这样创建的对象称为匿名对象。

实例变量、方法与静态变量、方法,常量:
1.实例变量属于一个具体的实例,不能被同一个类中的不同对象共享。
Circle c1 =new Circle();
Circle c2 =new Circle(5);

c1与c2中的radius相互独立,存储在不同的内存空间,不会相互影响。因此Circle类中的radius属于实例变量。
2.静态变量:将变量值存储于类的公共内存,一个类中的所有实例共享数据。

类的常量,声明为 final static

3。静态方法和实例方法的区别主要体现在两个方面:
 
在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。


静态方法只能访问静态成员,实例方法可以访问静态和实例成员。之所以不允许静态方法访问实例成员变量,是因为实例成员变量是属于某个对象的,而静态方法在执行时,并不一定存在对象。同样,因为实例方法可以访问实例成员变量,如果允许静态方法调用实例方法,将间接地允许它使用实例成员变量,所以它也不能调用实例方法。基于同样的道理,静态方法中也不能使用关键字this。

 

main()方法是一个典型的静态方法,它同样遵循一般静态方法的规则,所以它可以由系统在创建对象之前就调用。

如果一个变量或者方法不依赖于累的具体实例,就应该定义为静态变量或者方法,反之为实例。

 






















0 0
原创粉丝点击