您的位置:首页 > 编程语言 > Java开发

javaSE学习笔记之面向对象程序设计(一)

2015-07-03 21:20 295 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

基本概念:

1. 类: 类是一种抽象的概念, 类中包含了数据(通常使用名词来表示) 与对数据的操纵 (通常使用动词来表示)。比如说人就是一种抽象的概念,人具有姓名、年龄、身高等数据,还有吃饭、跑步等操纵数据的动作.

2. 对象:对象是一种具体的概念,是类的一种具体表示方式。比如说人是一个类,而张三、李四、王五等具体的人就是对象。

3. 类所包含的内容,类一共包含两部分内容:

a) 数据,数据在类中称作属性(Property)或者叫成员变量(Membervariable)。

b) 对数据的操纵,这种操纵在类中称作方法(method) 。

4. 面向对象程序设计的三大基本特征:继承(Inheritence)、封装(Encapsulation)、多态(Polymorphism)。

5. 如何定义类?

修饰符 class 类的名字

{

//类的内容(包含了属性与方法)

}

6. 方法。如何定义方法?

修饰符 返回类型 方法名称([参数 1, 参数 2, 参数 3…])

{

//方法体

}

注意:

a) 方法定义不能嵌套,也就说不能在一个方法中定义另外一个方法。方法只能定义在类中。

b) 关于方法的执行:首先需要定义方法,接下来就可以使用方法(调用方法),当方法调用完毕后,方法可以返回值。方法到底是否返回值是由方法的定义决定的。

7. 如何生成对象?通过类来生成对象(通常使用 new 关键字来生成对象)。

publicclass Person

{

//类的内容

}

类名 变量名 = new 类名();

Personperson = new Person();

Personperson2 = new Person();

8. 方法调用需要通过对象来完成,方法调用的形式是:

对象变量.方法名([参数值 1, 参数值 2, 参数值 3….]);

9. 关于方法的注意事项:

1)在方法定义中,方法的返回类型与return 后面的变量或常量类型保持一致。

2)在方法调用时,给方法传递的参数需要与方法定义时的参数保持一致(参数个数一致,参数类型一致)。

3)方法定义时的返回类型与接收方法返回值的变量类型保持一致

10. 如果方法不返回值,那么声明方法的时候使用 void 关键字,在方法定义中可以有两种

情况实现不返回值:

a) 不使用 return 语句。

b) 使用 return,但 return 后面没有任何值或者变量, return 后面只有一个分号,表示退出方法,返回到方法的调用端。

使用方式:return;

11. 类中的属性又叫做成员变量(member variable),属性用英文表示为property

12. 对象(Object)又叫做实例(Instance)。生成一个对象的过程又叫做实例化。

13. 属性需要定义在类中,又叫做成员变量;而定义在方法中的变量叫做局部变量。

14. 如何定义属性?

public class Person

{

修饰符 类型 属性名称;

}

15. 如何使用属性?与方法一样,使用.运算符。首先需要生成类的实例,然后使用实例+” . ”的方式来使用属性。

比如:Person person = new Person(); person.age

16. 局部变量使用前必须要声明并赋初值;成员变量使用前必须要声明,但可以不赋初值。

17. 成员变量与局部变量的联系与区别:

a) 无论是成员变量还是局部变量,使用前都需要声明(定义)。

b) 对于局部变量来说,使用前必须要初始化;对于成员变量来说,使用前可以不初始化。如果没有初始化成员变量就开始使用,那么每个类型的成员变量都有一个默认的初始值:

i. byte、short、int、long 类型的初始值为 0

ii. float、double 类型的初始值为 0.0

iii. char 类型的初始值‘\u0000’

iv. boolean 类型的初始值为 false

18. 引用类型(reference type):引用类型是用在对象上的。一个对象可以被多个引用所指

向,但同一时刻,每个引用只能指向唯一的一个对象。如果一个对象被多个引用所指向,

那么无论哪个引用对对象的属性进行了修改,都会反映到其他的引用当中。

19. 如果一个类包含了属性与方法,那么该类的每一个对象都具有自己的属性,但无论一个类有多少个对象,这些对象共享同一个方法。

20. 关于方法参数传递的总结:对于 Java 中的方法参数传递,无论传递的是原生数据类型

还是引用类型,统一是传值(pass by value) 。

21. 什么类型的引用就能指向什么类型的对象,比如 People 类型的引用就能指向 People类型的对象,但不能指向 Student 类型的对象。比如:

People people =new People(); // 正确

People people =new Student(); //错误

22. 构造方法(Constructor) : 构造方法用于完成对象属性的初始化工作,构造方法的特点:

a) 构造方法的名字必须与类名完全一致(包含大小写)

b) 构造方法没有返回值,连 void 也不能出现。

c) 如果在定义一个类的时候,没有为类声明构造方法,那么 Java 编译器会自动为类添加一个没有参数且方法体为空的构造方法(默认的构造方法)

d) 如果在定义一个类的时候,为类声明了构造方法,那么 Java 编译器就不会再为类添加构造方法了。

e) 不能显式调用类的构造方法,构造方法通常是通过 new 关键字隐式调用。

public class ConstructorTest
{
public ConstructorTest()
{
//default constructor

System.out.println("test");
}

public static void main(String[] args)
{
ConstructorTest test = new ConstructorTest();

}
}


5. new 关键字在生成对象时完成了三件事情:

a) 为对象开辟内存空间。

b) 调用类的构造方法。

c) 将生成的对象的地址返回。

23. 默认的构造方法:构造方法没有参数且方法体为空。

24. 使用 new 来生成对象的时候,后面的小括号()表示构造方法的参数列表,如果构造方法不接收参数,那么小括号中的内容为空;如果构造方法接收参数,那么小括号中的实 际参数就需要与构造方法定义中的形式参数保持一致 (参数数量一致、参数类型一致、按照顺序逐一赋值)

public class ConstructorTest {
private String name;
private  int age;

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public ConstructorTest(String name, int age) {

this.name = name;
this.age = age;
}
public ConstructorTest() {

}
public static void main(String[] args) {
ConstructorTest test = new ConstructorTest();
test.setName("李四");
test.setAge(20);
System.out.println("我是"+test.getName()+"今年"+test.getAge());
ConstructorTest test2 = new ConstructorTest("张三",18);
System.out.println("我是"+test2.getName()+"今年"+test2.getAge());
}

}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: