关于java:Java核心基础第5篇Java面向对象类和对象

37次阅读

共计 3958 个字符,预计需要花费 10 分钟才能阅读完成。

Java 面向对象之类和对象

一、面向对象概述

Java 是齐全的面向对象编程(Object Oriented Programming),简称OOP

面向对象编程的思维形式更加合乎大家的日常生活,因为咱们的事实世界都是由各种各样的对象组成,大到飞机、火车、楼房,小到一只狗、笔记本电脑、一本书都是实实在在的对象。然而每个对象都有本人的状态和行为,咱们能够通过对象来实现肯定的工作。

例如:咱们乘坐飞机从深圳飞到湘西去游览,咱们能够间接应用飞机的航行能力,而不必管飞机这个对象是如何制作的。间接应用即可。

应用面向对象的形式来形容由对象组成的世界,更加合乎人类的思维形式;

因为软件呈现的目标就是为了:

  • 用计算机的语言形容事实世界
  • 用计算机解决事实世界的问题

Java 是目前最为风行的面向对象的编程语言(Python 可能不服),领有面向对象的四大特色:

  • 封装:暗藏外部实现细节,对外提供可拜访的办法
  • 继承:子类主动继承父类中所有的非公有属性和办法
  • 多态:同一事物,多种不同的示意状态,例如:重载、重写
  • 形象:能够不必管具体的实现,定义对立的形象规定

面向对象编程是 Java 的核心思想,然而对于初学者来说,学习起来还是比拟形象。所以倡议初学者能够配合书籍一起学习,重复观看,从而把握其中精髓。

二、类

2.1 类的概述

类是 Java 应用程序中,必不可少的单位;创立类的关键字是:class; 其实咱们在之前的学习过程中曾经接触过类,只是没有专门独自的拿出来讲。

例如:

  • 以下创立了一个名称叫 Test01 的类
  • 在类中定义了一个 main() 办法,也是程序的入口
public class Test01{public static void main(String args[]){
        // 创立并且赋值
        int score2[] = {100,90,88,85,66};
        for(int i = 0;i<score2.length;i++) {System.out.print(score2[i]+"\t");
        }
    }
}

所以创立类,也没有那么简单。把握其根本语法,而后依据本人的需要进行创立即可。

Java 作为一门高级语言,咱们除了能够创立本人定义的类以外,还内置了许多预约义好的类。

例如:

  • Scanner
  • Math
  • String

2.2 预约义类

所谓预约义类,就是 Java 语言依据理论业务场景,帮咱们预约义好的类。咱们只须要把握如何应用,不须要再去额定创立。

罕用的预约义类:

例如:

  • Scanner : 键盘输入
  • Math:数学相干类
  • String:字符串类
  • Date:工夫日期相干类
  • List:汇合类

Java 提供的预约义类有点多,好在提供了帮忙文档,咱们能够依据帮忙文档查看:https://www.matools.com/api/java8

前面有章节专门来钻研罕用的预约义类。

2.3 发现类的过程

1、宠物—现实生活中的对象

如何在计算机中形容它?

世界上具体宠物对象,特地多。那么咱们如何用计算机语言来形容这么多宠物对象,如果一个个形容咱们必定是做不到的;所以咱们须要把握其中的法则来对其进行划分。

从事实中形象出类分为三步走:

  1. 第一步:找出它们的品种
  2. 第二步:找出它们的属性
  3. 第三步:找出它们的行为

2、第一步:找出他们的品种

依据以上信息,找出狗的品种;

Java 应用的是 class 关键字来形容类;

// 创立一个名为 Dog 的类
class Dog{}

3、第二步:发现类的特色

咱们能够依据每个对象,抽取出他们雷同的特色(属性);然而任何一个对象都会有多个特色

例如:Dog 狗类的特色有

尽管特色很多,然而理论咱们只寄存咱们所须要的特色(属性):

class Dog { 
    String name = "旺财"; // 昵称
    int health = 100; // 衰弱值    
    int love = 0;   // 亲密度
    String strain = "拉布拉多犬"; // 种类 
}

4、第三步:发现类的办法

类的办法也能够称为 行为, 是动静的。每个办法都能够看出是一个独立的性能

和属性一样,咱们寄存的也是咱们所关怀的行为

class Dog { 
    String name = "旺财";   // 昵称
    int health = 100; // 衰弱值    
    int love = 0;     // 亲密度
    String strain = "拉布拉多犬"; // 种类 
    /* 输入狗的信息 */
    public void print() {// 输入狗信息的代码} 
}

通过以上三个步骤,咱们就能够创立一个残缺的类。以及指定了类中蕴含的属性和办法。

2.4 类的组成

通过以上发现类的过程,咱们能够看到类的根本组成:

// 语法格局:[< 修饰符 >] class < 类名 > 
{[< 属性申明 >]
    [< 结构器申明 >]
    [< 办法申明 >]
    [{代码块}]
}

1、属性

定义属性: 语法

// 语法
[修饰符]     数据类型     属性名称     =  [初始值];

// 例如
public String name = "来福";    // 创立了一个属性,并且给初始值

修饰符:

  • public: 示意公共的,拜访权限最大的,整个我的项目中都能够拜访
  • private: 示意公有的,拜访权限最小的,再能在以后类中拜访

数据类型:

  • 数据类型能够是 8 种根本数据类型,也能够是援用数据类型
  • 属性的初始值取决数据类型。int 默认值是 0 String 默认值是 null

属性名称:

  • 属性也称为全局变量
  • 只须要合乎根本的命名规定和标准即可

2、办法

也称为行为,失常一个办法示意一个具体的性能。例如:跑、吃、睡觉

// 语法:
[修饰符]    返回值类型    办法的名称([参数列表]){// 办法体。就是该办法的具体性能}    

// 案例
public void show(String name){System.out.println("我的名字是:"+name);
}

办法组成的四因素:

  • 返回值
  • 办法名称
  • 参数列表
  • 办法体

组成办法的四因素,缺一不可。

2.1 返回值

该办法执行结束之后,把值返回给办法的调用者

  1. 必须定义返回值的具体的类型,如果没有返回值应用 void 润饰
  2. 如果有具体的返回值,必须在语句块中应用 return 语句
// 没有返回值
//1. 应用 void 润饰
//2. 不必应用 return
//3. 办法的调用者不能应用变量接管内容
public void add(int num1,int num2) {int sum = num1+num2;}

// 有返回值的状况
//1. 固定返回值类型
//2. 办法体前面必须应用 return 关键字返回具体的数字
//3. 办法执行之后的后果,能够应用变量保存起来
public int desc(int num1,int num2) {
    int d = num1-num2;
    return d;
}

2.2 办法名称

只是一个标识符,合乎命名规定和规

标准:

  • 驼峰命名规定;首个单词首字母小写,之后每隔单词首字母大写 getUserByName();
  • 见名知意

2.3 参数列表

定义方法的时候,参数是可选的。

  1. 形参列表:(形式参数), 只是负责定义参数,以及参数的类型和名称。然而该参数每页理论的值
  2. 实参列表: 办法的调用时候
// 定义方法
// num1,num2 示意连个形参
// 语法: 数据类型 参数名,多个参数之间应用逗号隔开
public int desc(int num1,int num2) {
    int d = num1-num2;
    return d;
}

// 办法调用
//abc: 变量,接管办法的返回值
//50,20: 具体的实参,实参数据类型,个数,程序必须和形参要统一
int acb = p1.desc(50,20);

2.4 办法体

{}示意办法体,也是办法具体的业务实现

public int desc(int num1,int num2) {
    // 具体的业务  依据场景不同。具体 也不同
    int d = num1-num2;
    return d;
}

3、构造方法

3.1 构造方法特色

它具备与类雷同的名称;
它不含返回值, 也不须要应用 void 关键字润饰
一个类中能够领有多个构造方法

public class Person{public Person(){// 默认无参结构}
    
    public Person(String name){// 定义有参结构}
}

3.2 构造方法作用

依照指定的规定来创建对象, 实现对象的初始化工资;(给所有的属性赋值)

// 留神: 构造方法不能应用 void 润饰,否则就是一般办法。丢失了构造方法的作用
// 构造方法通过 new 关键字 调用。不能通过对象调用  : 
new Person();   // 调用 Person 无参结构
new User("zhangsan", "深圳华丽居", "110");// 调用有参数结构

3.3 构造方法留神

  • Java 语言中,每个类都至多有一个构造方法;
  • 如果类的定义者没有显式的定义任何构造方法,零碎将主动提供一个默认的构造方法:
  • Java 类中,一旦类的定义者显式定义了一个或多个构造方法,零碎将不再提供默认的构造方法;
  • 结构器的次要作用:利用结构器参数初始化对象的属性。
public Person(String name,int age){
    this.name = name;
    this.age = age;
}

2.5 类图

形容整个类的信息;

  • 用于剖析和设计“类”
  • 直观、容易了解

三、对象

1、简介

  • 万物皆对象,所有的货色都是一个对象
  • 对象是类的具体实现,一个类能够创立任意多个对象
  • 每个对象其实都是一个正本,对象与对象之间互不干涉
  • 关键字: new
  • 应用:

    • 对象名. 属性名 –>student.username
    • 对象名. 办法名() —>student.eat();

2、创建对象的语法

​ new + 构造方法() : 例如: new Dog(); new Person();
​ 非凡的办法:
​ a. 不须要返回值 b. 办法名和类名统一;

3、类的拜访机制

  • 在一个类中的拜访机制:类中的办法能够间接拜访类中的成员变量
  • 在不同类中的拜访机制:先创立要拜访类的对象,再用对象拜访类中定义的成员。

4、匿名对象

  • 咱们也能够不定义对象的援用,而间接调用这个对象的办法。这样的对象叫做匿名对象,如:


- 如果对一个对象只须要进行一次办法调用,那么就能够应用匿名对象。- 咱们常常将匿名对象作为实参传递给一个函数调用

正文完
 0