赞
踩
一.类的定义与使用
class 类名称 {
属性 (变量) ;
行为 (方法) ;
}
类属于一种数据类型,要依靠对象使用
类名称 对象名称 = new 类名称 () ;
或
类名称 对象名称 = null ;
对象名称 = new 类名称 () ;
例如:
import java.util.*; class Fruit { String name ; String taste ; public void get() { System.out.println("这个" + name + ",味道是" + taste+",买它,买它"); } } public class Testfruit { public static void main(String args[]) { Fruit fru = new Fruit() ; fru.name = "苹果" ; fru.taste = "甜的" ; fru.get() ; } }
运行结果:
这个苹果,味道是甜的,买它,买它
二.构造方法
关于构造方法要明白的几点内容:
1.构造方法可以在类实例化的过程中做一些初始化的工作。
2.构造方法的名称必须与类的名称相同,并且没有返回值。
3.每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认的构造方法。
举个例子:
import java.util.*; public class Dog{ String name; int age; Dog(String name1, int age1){ name = name1; age = age1; System.out.println("Hello 我是狗!!!"); } void bark(){ System.out.println("汪汪"); } void hungry(){ System.out.println("主人,我饿"); } public static void main(String arg[]){ Dog myDog = new Dog("花花", 1); String name = myDog.name; int age = myDog.age; System.out.println("狗的名字是"+name+";狗年龄是"+age); myDog.bark(); myDog.hungry(); } }
运行结果:
Hello 我是狗!!!
狗的名字是花花;狗年龄是1
汪汪
主人,我饿
这个例子中要注意:
构造方法,没有返回值
普通方法,必须有返回值
创建对象时传递的参数要与构造方法参数列表对应
三.this
1.关键字this,通俗的讲,就是我们普通话中的“我”,指当前对象自己。
public class Hello {
String s = "Hello";
public Hello(String s){
System.out.println("s = " + s);
System.out.println("1 -> this.s = " + this.s);
this.s = s;
System.out.println("2 -> this.s = " + this.s);
}
public static void main(String[] args) {
Hello x=new Hello("HelloWorld!");
}
}
运行结果:
s = HelloWorld!
1 -> this.s = Hello
2 -> this.s = HelloWorld!
[Process completed - press Enter]
分析:
这和我所学的c++非常相识,当参数与成员变量名相同时,如this->x=x,不能写成 x=x。
第一行就是直接对构造函数中传递过来的参数s进行显示的结果; 第二行是对成员变量s的显示;第三行是先对 成员变量s 赋传过来的参数s值后再显示。
2.把this作为参数传递
public class A { public A() { new B(this).print(); } public void print() { System.out.println("Hello from A!"); } } public class B { A a; public B(A a) { this.a = a; } public void print() { a.print(); System.out.println("Hello from B!"); } }
运行结果:
Hello from A!
Hello from B!
分析:
对象A的构造函数中,用new B(this)把对象A自己作为参数传递给了对象B的构造函数。
四.总结
这一周我学习了面相对象,收获颇多。同时也让我知道我有很多不足,很多要学习,要思考的地方。有了C++面向对象编程的基础,让我在学习JAVA中,省了不少力,这两个中有很多共同点。
另外,在学习的过程中,一定要动手做、试着写代码,而不是抱一本书,一个视频看看,一定要多写,要多写,这样才能有自己的理解,自己的思考,才能提高。在课后,要及时复习,多加理解,把所学的每一个代码在脑中像放动画一样播放一遍,这样学习非常有效果。
在学习中遇到困难,不懂的地方,要尽量独立解决,上网查资料,这样会印象很深,也会记得更牢。
好了,这一周就结束了,继续努力吧。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。