JAVA-自己对类与对象的认识

术语:

面向对象编程: OOP, Object-oriented Programming

面向对象设计: OOD, Object-oriented Design

Java语言是面向对象的编程语言.C语言是面向过程的编程语言.

什么是类?(class)

通过我们学过的JAVA程序我们表示一个数字,表示一个字还可以表示“是”或“否”吗?

问:怎么来表示一只狗,表示一个商品,怎么表示一个订单?

第一只狗:
String dogName = “小黑”;

int dogAge = 3;

double  dogPrice = 500;

String dogColor = “黑色”;

第二只狗:

String dog2Name = “小黑”;

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

int dogAge = 3;

double  dog2Price = 500;

String dog2Color = “黑色”;

Dog dog;

//第一只狗

dog. name = “小黑”;

dog.age = 3;

dog. price = 500;

dog.color=”黑色”;

//第二只狗

Dog dog2;

dog2. name = “小黑”;

dog2.age = 3;

dog2. price = 500;

dog2.color=”黑色”;

 

 

String a;

String b;

  1. equal()

总结:类是类型、类别是模板。

什么对象(object)

类中的一个一个的个体,称做我们的对象。

在面向对象的思想中,完事万物皆对象。只不过我们是将具体的对象进行一个分门别类。

在软件设计思想中,对象其实是因为关注而产生的。把具体的类进行单独的划分成一个一个的对象。

问:是先有对象还是现有类?

在实际的编码过程中是先有类,再有对象。

 

类与对象的关系

类就是类型、类别、模板,它包含了对象

对象是类中的实例,也就是说类长什么样,对象就长什么样。

类的属性(attribute)

对象的具体特征,我们就称为属性。

 

类的方法(mothod)

对象具有的行为、动作、功能我们就统称为方法。

 

使用类的语法

声明变量 : 类名 对象名;

对象赋值: 对象名 = new 类名();

合起来写: 类名 对象名 = new 类名();

对象名就是具体的某个对象

对象赋值我们也统称为“创建对象”或者“实例化”

 

封装

对象的属性其实就是对数据的封装,比如我们把一个包裹看做是一个对象,那么属性就是相当于包裹里的具体物件。

对象的方法其实就是对的行为过程进行一个封装,因为我们把这个过程封装成一个程序代码,所以我们想要去调用这个方法,我们就直接用它的方法名。

对象属性和方法的使用:

     属性: 对象名.属性名

     方法: 对象名.方法名();

结论:将对象的属性和方法定义在类中,这种就称为封装。

 

toString

toString连接具体的属性,以一种字符串的方式打印出来。方便给我们程序员调试我们的代码。

toString属于object类中,object称为对象,万事万物皆对象。

使用toString如下代码实例:

 

类图

private –私有的,外部就不可以访问

public +公共的,外部可以访问。

 

小作业:

static

static修饰的属性被多个实例所共享,它不依赖实例。而且static修饰的属性被称为“类的成员”,”静态成员”。反之

没有被static修饰的属性,它依赖实例。而且没有被static修饰的属性被称为“实例成员”、“对象成员”。

注意:

  1. 用static修饰的静态方法,它要使用类的属性,该属性就必须用static来修饰。

  1. 没有static修饰的方法,它即可用类的属性,也可以用static修饰的属性。

方法

方法:其实就是对过程一个封装,我们只关注的是怎么去调用它。

 

调用方法的语法:

[可见性修饰符] [返回类型] [方法名](参数列表){

  //具体的方法体

}

 

返回类型:

void: 无任何返回类型

其他有返回类型,就必须结合return来使用

 return:

  1. 返回值
  2. 跳出方法

可见性修饰符:

private: 私有的,外部不能调用的。

public: 公有的,外部可以调用的。

  1. 形参:方法中声明的变量

  1. 实参:调用方法时,给的参数。

方法调用方式:

  1. 在类的内部可以直接通过方法名去调用方法

  1. 不在一个类中,就先实例化此对象,然后根据对象名.方法名();这种方式去调用。

 

猜你喜欢

转载自blog.csdn.net/Mr_zdk/article/details/82797758