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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014070705/article/details/46745929


基本概念:

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

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

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

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

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

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

5.        如何定义类?

修饰符  class  类的名字

{

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

扫描二维码关注公众号,回复: 3747879 查看本文章

}

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());
	}

}


 
 

猜你喜欢

转载自blog.csdn.net/u014070705/article/details/46745929