java面向对象(一)——基本要素

1.面向对象和面向过程的区别:

(1)面向对象是将功能封装进对象,强调具备功能的对象,以类或者对象为最小单位,考虑让谁来做。
(2)面向过程强调的是功能行为,以函数为最小单位,考虑怎么做。

2.类和对象

类:是对一类事物的描述,是一种抽象的概念。

对象:是类的实例,是实际存在的某种事物的每个个体。

  • 面向对象程序设计,重点是对类的设计(设计类的成员)
3.属性
  • 属性 = 成员变量 = field = 域、字段
    调用方式:“对象.属性”
class Student {
	int number;//定义类的属性
	int state;
	int score;
	}
Student s1 = new Student();//创建类的对象
s1.number = 16;//调用对象的属性
s1.state = 6;
s1.score = 98;
  • 如果创建了一个类的多个对象,则每个对象都独立拥有一套类的属性(非static)。意味着,如果我们修改一个对象的属性,则不影响另一个对象相同属性的值。
4.属性(成员变量)和局部变量的比较

相同点:
(1)定义变量的格式相同:数据类型 变量名 = 变量值
(2)先声明,后使用
(3)变量都有其作用域

不同点:
(1)在类中声明的位置不同,属性直接定义在{ }中;局部变量声明在方法内、方法形参、代码块、构造器形参、构造器内部的变量。
(2)权限修修饰符的不同,属性可以在声明时指明其权限(private、public、缺省、protected);而局部变量不可以使用权限修饰符。
(3)默认初始化值不同,属性根据其类型都有默认的初始化值;局部变量没有默认的初始化值,所以必须在调用之前先赋值,形参在调用时赋值即可
(4)内存中加载的位置不同,属性加载到堆空间中(非static);局部变量加载到栈空间中

5.方法

方法:描述类应该具有的功能

  • 方法(行为)=成员方法 = method = 函数

    调用方式:“对象.方法”
    例如:Math.random(),即调用Math类中的random方法

  • 方法的声明格式:

权限修饰符 返回值类型/void 方法名(形参列表){//形参列表为0个或多个,当有多个时格式为:(数据类型 形参1,数据类型 形参2, ...)
	
				 方法体//方法功能的实现
}
public void run(){}//无返回值,无形参

public void study(int hour){}//无返回值,有形参

public String getName(){}//有返回值,无形参

public int getAge(int age){}//有返回值,有形参
public void study() {
	System.out.println("studying");
}

public void showAge() {
	System.out.println("age:" + age);
}

public int addAge(int i) {
	age += i;
	return age;
}

s1.study();// 调用对象的方法
s1.showAge();

//当方法中有返回值
//方式一:
int newAge = s1.addAge(2);//定义一个新变量接收方法执行后的结果
System.out.println(newAge);
//方式二:
System.out.println(s1.addAge(2));
5.return关键字

(1)当方法有返回值时,必须使用return关键字,来返回指定类型的变量或常量。
(2)当方法没有返回值时,则无需使用return关键字;如使用,只作用于结束该方法。
(3)return后不可以有执行语句

发布了49 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/ashleyjun/article/details/97763661