【Java基础】04 类与对象

上一节
前面介绍了java。并两篇基础语法。
这节是java的面向对象的特点与类的介绍。
也许你学过c与c++,你会知道面向过程与面向对象(OOP)的区别你也可以看看这个博主的理解
面向过程时,一旦确定了过程,就要考虑数据存储,对于规模不大的来说还不错,但规模较大时,面向对象更为适用。
面向对象的程序就是由对象组成的,每个对象包含公开的功能,和隐藏的实现。有的时候不必关心其功能的具体实现。

java的面向对象思想

通过抽象从具体实例中抽取共同的性质形成一般的概念——类。
产生类的目的是创建具有属性和功能的对象。
面向对象的特征:
封装性:把数据和对数据的操作封装在一起;
继承性:子类继承父类的属性和功能
多态性:操作名称都多态(多个方法有相同名字):重载
和继承有关的多态(同一个操作被不同对象调用产生不同行为):重写

1、类

类是一种数据类型。
确定对象将会有的特征(属性)和行为(方法),所有java程序都以类class为组织单元。

前面说了java中有挺多类库,我们是可以直接用的。
但是我们也需要自己写类实现功能。
例子:

//定义类
public class Telphone{
	//定义属性
	float screen;
	float cpu;
	float mem;
	//定义方法
	void call(){
		//打电话功能
	}
	void sendMessage(){
		//发短信功能
	}
}

类的结构

从上述例子看
class 类名{
//类体
成员变量
方法声明{
//方法体
局部变量
}

类之间的关系

依赖,对象A需要访问对象B去实现某功能;
聚合(关联),A类的对象包含B类的对象。
继承,这个后面介绍。

2、对象

它由类构建
1.创建对象 类名 对象名=new 类名();

Telphone phone=new Telphone();

2.使用对象
引用对象属性:对象名.属性

phone.screen=5;

引用对象方法:对象名.方法名()

phone.sendMessage();

3、构造方法:

上述的new Telphone();就是使用的构造方法。
定义在Java类里的用来初始化对象的方法,与类名相同,没有返回值。
类默认有无参构造方法。你也可以重写一个你需要的构造方法。
用new 构造方法创建一个新对象, 负责对象成员的初始化工作,
为实例变量赋予合适的初始值.
public 构造方法名(){
//初始化代码
}

无参构造方法,public hello(){   }
有参构造方法  public hello(int a,int b){   }

都可以用来创建对象,后者可以给变量赋值,没有指定构造方法,系统会自动添加无参构造方法
构造方法必须满足:
1、方法名与类名相同
2、没有返回类型

4、方法

方法用于操纵数据,实现功能。上述的构造方法就是一个特殊的方法
定义一个方法的语法:

**访问修饰符 返回值类型 方法名(参数){
		方法体
}**

其中:
1)访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略,其中 public 表示该方法可以被其他任何代码调用。
2)返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;
如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值。
3)方法名:定义的方法的名字,必须使用合法的标识符。
4)参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开。
根据方法是否带参、是否带返回值,可将方法分为四类:
Ø 无参无返回值方法
Ø 无参带返回值方法
Ø 带参无返回值方法
Ø 带参带返回值方法
实例

public class Hello{
	//定义print方法
	public void print(){//无参无返回值
		System.out.println("hello");
	}
	public static void main(String[] args){
		//调用方法
		Hello test =new Hello();
		test.print();
	}
}

方法的使用

第一步,定义方法
a. 方法体放在一对大括号中,实现特定的操作
b. 方法名主要在调用这个方法时使用,需要注意命名的规范,驼峰命名。
第二步,调用方法
当需要调用方法执行某个操作时,可以先创建类的对象,然后通过对象名.方法名();实现。

实例方法和类方法

方法类型前面不加关键字static修饰就是实例方法,加static修饰的就是类方法
区别:实例方法只能由对象调用,不能通过类名调用,而类方法不仅可以被类创建的任何对象调用执行,也可以直接通过类名调用;补充:this关键字可以出现在实例方法中但不可以出现在类方法中

方法的重载

如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载:

判断方法重载的依据:
1.必须是在同一个类中
2.方法名相同
3.方法参数的个数、顺序或类型不同
4.与方法的修饰符或返回值没有关系


PS:支付宝搜“654656370”可领红包。

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

猜你喜欢

转载自blog.csdn.net/qq_41022866/article/details/90755759