星期日, 十一月 08, 2015 16:58:08
?
类与对象
?
?
一.了解面向对象的编程思想
?
? ? ? ? ?类:
? ? ? ? ?类实质上就是封装对象属性和行为的载体。
? ? ? ? ?
? ? ? ? ?对象:
? ? ? ? ?而对象则是类抽象出来的一个实例。
?
? ? ? ? 在Java语言中,类中对象的行为是以方法的形式定义的,对象的属性是以成员变量的形式定义的,
而类包括对象的属性和方法。
?
? ? ? ? ?封装:
? ? ? ? ?封装是面向对象编程的核心思想,将对象的属性和行为封装起来;
而将对象的属性和行为封装起来的载体就是类,类通常对客户隐藏其实现的细节。
?
? ? ? ? 继承性:
? ? ? ? 主要利用特定对象之间的共同属性。
?
? ? ? ? 多态:
? ? ? ? 了解了父类和子类,其实将父类对象应用于子类的特征就是多态。
?
? ? ? ?抽象类:
? ? ? ?抽象类不能实例化对象。
? ? ? ?在多态的机制中,父类通常会被定义为抽象类,在抽象类中给出一个方法的标准,而不给出实现的具体流程。
?
? ? ? ?在多态机制中,比抽象类更为方便的方式是 将抽象类定义为接口。
由抽象方法组成的集合就是接口。一个标准。
?
?
?
?
?
二.类
?
----2.1定义:
? ? ? 类是封装对象的属性和行为的载体。
而在Java中对象的属性是以成员变量的形式存在,而对象的方法是以成员方法的形式存在。
?
---2.2 成员变量
??
?
?
java类中为什么可以有多个class啊
-----因为class就是一个对象,不然怎么继承呢。。。
? ? 一个.java文件只能有一个public class ,而且与这个.java的文件名必须一致。
不是说只能一个main方法吗,,那写了那么多main方法也不报错?
-----main方法很多,这个是没有问题的,但是执行的是public class这里面的main方法。
?
代码案例:
package day07;
?
public class ClassTest {
public static void main(String[] args) {
Book b = new Book();
String b2 = b.getName();
System.out.println(b2);
}
}
?
class Book{
/*定义成员变量*/
private int id ;
private String name;
private String category;
/*定义成员方法*/
public String getName() {
int id = 0;
setName("Java");
return id+this.name;
}
private String setName(String name) {
return this.name = name;
?
}
public Book getBook() {
return this; ? ? ? ? //返回Book类引用
}
}
?
运行结果:
0Java
?
?
----2.3 成员方法
?
---在Java中使用成员方法对应于类对象的行为。
---定义成员方法的格式
?
权限修饰符 返回值类型 方法名(参数类型 参数名){
...//方法体
? ? ? return 返回值;
}
?
注意:
? 在成员方法中可以调用其他成员方法和类成员变量。
? 类成员变量和成员方法也可以统称为类成员。
?
----2.4 权限修饰符
?
Java中的权限修饰符主要包括 private、public、protected,
?这些修饰符控制着 ?对类、类的成员变量、成员方法的访问。
?
?
?
?
不写修饰符时,默认为protect。
?
?
----2.5局部变量
?
注意:
? ? 局部变量在使用时必须进行赋值操作或被初始化,否则会报编译错误。
??
?
----2.6.this关键字
?
tis关键字被隐身地用于引用对象的成员变量和方法。
事实上this引用就是对一个对象的引用。
this可以调用成员变量和成员方法,还可以作为方法的返回值。
?
public Book getBook() {
return this; ? ? ? ? //返回Book类引用
}
方法的返回值为Book类。
?
?
----2,7类的构造方法
?
---构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的,
每当类实例化一个对象时,类都会自动调用构造方法。
?
构造方法特点:
? ? ?1.没有返回值
? ? ?2.名称要与类名相同
格式:
? ?public book() {
//构造方法体
}
?
如果类中没有明确定义构造方法,则编译器会自动创建一个不带参数的默认构造方法。
?
实际上this还可以调用类中的构造方法。
?
?
?
----2.8静态变量、常量和方法
?
---被static修饰
? ?被声明为static的变量、常量和方法称为静态成员。
---静态成员是属于类所有,区别于个别对或象,可以在本类或其他类使用类名和".",
运算符调用静态成员。
---直接使用: 类名.静态成员
?
---目的:提供共享数据或方法
?
?
注意:
? ? 1.在静态方法中不可以使用this关键字
? ? 2.在静态方法中不可以直接调用非静态方法。
?
----2.9类的主方法
?
注意:
? ?1.主方法也是静态的,所以要直接在主方法中调用其他方法,则该方法必须也是静态的。
? ?2.主方法没有返回值
? ?3.主方法形参为数组
?
?
星期日, 十一月 08, 2015 ?22:29:43
原文:http://yuzhouxiner.iteye.com/blog/2255608