JAVA学习全过程(5)

时间:2014-03-09 15:56    点击:

现在说说什么是面向对象,首先说说什么是类
在现实世界中,经常有属于同一类的对象。例如,你的自行车 只是世界上很多自行车中的一辆。在面向对象软件中,也有很 多共享相同特征的不同的对象:矩形、雇用记录、视频剪辑 等。可以利用这些对象的相同特征为它们建立一个蓝图。对象 的软件蓝图称为类。
还比如说,动物类,人类,机器类,总之,类是一些相同事物的**
那么,什么是对象? 对象就是类的某一具体
比如,动物类的有个动物是猫,这个猫就是一个对象
在比如,人类中有个叫小明的小朋友,这个小明就是对象
实实在在的东西就是对象,抽象的东西就是类
类是对象的一种模版,对象就是根据这个模版创造出来的东西(也称做类的实例)
下面进入代码实例
public class HelloWorld {

public static void main(String[] args) { 
System.out.println("hello world!"); } 
}

这就是一个类,怎么创建?用class关键字+类名 ,类名通常首字母大写
当然用eclipse编译器建类就没那么麻烦
值得一提的是,main主函数并不属于HelloWorld 这个类,它充其量是借用了HelloWorld的场地
java有规定,代码不是脱离类运行
其实一个类就这么简单
class HelloWorld {



一个类的构成是由 成员属性(变量)+成员方法(函数)

package Mypackage; 
public class HelloWorld {
int a=1;

public static void main(String[] args) { 
System.out.println(a);

}

a是HelloWorld这个类之中的一个属性(变量),那么main主函数能访问吗?
答案是不能,静态方法只能访问静态变量和方法
那么同样,如果要访问HelloWorld的方法,也必须是静态的
package Mypackage; 
public class HelloWorld {
static int a=1;
static void print(){
System.out.println("hello world");
}
public static void main(String[] args) { 
System.out.println(a);
print();
} }

这样就可以访问

这有一道面试题
public class A {
public static String str="aaa";
public A()
{
str="bbb";
}

public static void main(String[] args) {
System.out.println(str);
} }

public A()这个是类的构造方法
最后打印什么呢,自己琢磨

现在我们来面向对象编程
package Mypackage; 
public class HelloWorld {
String a="hello world!";
void print(){
System.out.println(a);
}
public static void main(String[] args) { 

} }

HelloWorld 是一个类,这个类有个属性和一个方法
只要把这个类生成一个对象,或者说生成一个实例,我们就可以根据对象来访问属性和方法
怎么创建对象?用new关键字
HelloWorld hd=new HelloWorld();
记住,是基于什么类来创建对象 我们是创建HelloWorld的对象
所以 需要 类名 对象名=new 类名的对象
HelloWorld hd 中hd是前面所说的引用对象,名字是可以自己随意取的,你也可以取hello
不要以为是对象存进了hd里,hd相当于指针,它指向对象的地址
通过这个hd引用,就可以访问对象的属性和方法
用。符号来调用,如下
package Mypackage; 
public class HelloWorld {
String a="hello world!";
void print(){
System.out.println(a);
}
public static void main(String[] args) { 
HelloWorld hd=new HelloWorld();
System.out.println(hd.a);
hd.print();
} }

结果是
hello world!
hello world!


现在我们用面向对象编程
怎么创建个HelloWorld的对象?用new关键字
类名 对象名=new 类名();
也就是
HelloWorld hd=new HelloWorld(); 为什么会有括号,以后说
hd是前面所说的引用类型 ,他相当于指针,指向 HelloWorld对象的地址
不要以为是对象存进了hd里
通过引用hd 加。符号就可以访问对象属性和方法
如下

package Mypackage; 
public class HelloWorld {
String a="hello world!";
void print(){
System.out.println(a);
}
public static void main(String[] args) { 
HelloWorld hd=new HelloWorld();
System.out.println(hd.a);
hd.print();
} }

现在我们用面向对象编程
怎么创建个HelloWorld的对象?用new关键字
类名 对象名=new 类名();
也就是
HelloWorld hd=new HelloWorld(); 为什么会有括号,以后说
hd是前面所说的引用类型 ,他相当于指针,指向 HelloWorld对象的地址
不要以为是对象存进了hd里
通过引用hd 加。符号就可以访问对象属性和方法
如下

package Mypackage; 
public class HelloWorld {
String a="hello world!";
void print(){
System.out.println(a);
}
public static void main(String[] args) { 
HelloWorld hd=new HelloWorld();
System.out.println(hd.a);
hd.print();
} }

结果是
hello world!
hello world!


引用是在内存中的桟里,对象是在内存中的堆里


对象不一定非得要一个引用要指向

直接new 对象也可以
像下面
package Mypackage; public class HelloWorld {
String a="hello world!";
void print(){
System.out.println(a);
}
public static void main(String[] args) { 
new HelloWorld().print();

} }

结果是hello world!


这等于是对象自身来进行要调用方法
引用对对象来说类似于一个代理,或者是一个别名
如果有多个对象的话,不用引用不好区分

 

来源:幻想编程//所属分类:站长原创/更新时间:2014-03-09 15:56
顶一下
(1)
100%
踩一下
(0)
0%
上一篇:JAVA学习全过程(4)
下一篇:JAVA学习全过程(6)
相关内容