0
点赞
收藏
分享

微信扫一扫

Java初学总结(四) 类和对象

脱下愤怒的小裤衩 2022-04-24 阅读 31
javajava-ee

目录

一、面向对象的初步认知

二、类的定义和使用

1、理解类

2.定义类

三、构造方法

1.构造方法作用:

2.构造方法的特性

3.构造方法的重载

4.打印对象的属性

四、this的使用

五、封装

1、概念

2、访问修饰限定符

3.包


一、面向对象的初步认知

1、面向对象关注的三点:

举个生活中的例子来帮助理解:对于洗衣服来说,

面向过程:倒水 -> 放衣服 -> 加洗衣液 -> .....->拧干衣服 

面向对象:人 将衣物与洗衣液一起放入洗衣机

整个过程是人、衣服、洗衣液、洗衣机四个对象之间交互完成,人不需要关心衣物是如何洗的

2、Java是一门纯面向对象的语言(Object Oriented Program,即OOJ),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来设计程序,更符合人们对事物的认知。

二、类的定义和使用

1、理解类

类是用来对一个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来干啥),描述完成后计算机就可以识别了。

2.定义类

(1)使用关键字class创建类,类中包含成员变量和成员方法

(2)使用关键字new实例化一个对象

(3)类相当于一个图纸,实例化对象相当于把房子建出来

(4)使用类名.属性来赋值,使用类名.方法来调用方法

举例:

class Person{
    public String name;//属性(成员变量)
    public int age;
    public void sleep(){  //方法(成员方法)
        System.out.println("睡觉");
    }
    public void eat(){
        System.out.println("吃饭");
    }
}
public class TestDemo {
    public static void main(String[] args) {
        Person person = new Person();  //通过new关键字实例化多个对象
    }
}

当成员变量没有赋初值的时候,每个成员变量都是它所对于的0值,程序运行不会报错。

(1)引用类型对应的是null

(2)boolean对应的是false

(3)char对应的是\u000,是Unicode编码对应的空格 

三、构造方法

当我们实例化一个对象的时候,一定会有这两部,但不一定只有这两步

1.构造方法作用:

是用来帮成员变量进行初始化的,构造方法是一种特殊的成员方法

2.构造方法的特性

(1)方法名必须和类名相同

(2)没有返回值

3.构造方法的重载

(1)当我们没有写构造方法时,编译器会帮我们默认提供一个不带参数的构造方法

例如:

(2)构造方法的重载以及应用

使用构造方法进行初始化 

 

4.打印对象的属性

方法一:自己写一个show()方法

方法二:使用自带的toString

(1)右键,选Generate

(2)选择toString 

 

  写了toString 

 如果我们不写toString,系统就会调用默认的Object类的toString方法,就会变成这样

四、this的使用

1.this.data; //访问属性

2.this.func(); //访问方法

3.this(); //调用本类中其他构造方法

详情见博客

http://t.csdn.cn/lC9kE

五、封装

1、概念

面向对象程序三大特性:封装、继承、多态。类和对象阶段,主要研究的是封装特性,封装简单来说就是套壳屏蔽细节。

比如:对于电脑这样一个复杂的设备,提供给用户的就只是:开关机、通过键盘输入,显示器,USB插孔等,让用户来和计算机进行交互,完成日常事务。但实际上:电脑真正工作的却是CPU、显卡、内存等一些硬件元件。

封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。

2、访问修饰限定符

(1)private:只能在当前类中访问

比如

 如果我们想要在类外使用,就需要一个公开的方法来调用

 此时我们就实现了封装,对类的实现细节进行隐藏,对外只提供公开的方法来供你使用,提高了数据的安全性。

(2)public:哪里都能访问

(3)protected:受保护的(在继承中会了解)

(4)什么都不写

class Student{
    int age;  //默认的:包访问权限
}

3.包

(1)什么是包??

在面向对象体系中,提出了一个软件包的概念,即:为了更好的管理类,把多个类收集在一起成为一组,称为软件包。有点类似于目录。

包是对类、接口等的封装机制的体现,是一种对类或者接口等的很好的组织方式,比如:一
个包中的类不想被其他包中的类使用。包还有一个重要的作用:在同一个工程中允许存在相同名称的类,只要处在不同的包中即可。
 

(2)导包

import java.util.Arrays;
import java.util.Date;
public class TestDemo2 {
    public static void main(String[] args) {
        Date date = new Date(); //导入import java.util.Date;
        System.out.println(date.getTime());
        java.util.Date date1 = new java.util.Date();//也可以直接写,不使用import
        int[] array = {1,2,3};
        System.out.println(Arrays.toString(array));//导入import java.util.Arrays;
    }
}

(3)使用import static导入包中静态的方法和字段(不建议这样使用)

import static java.lang.Math.*;
public class TestDemo2 {
    public static void main(String[] args) {
        //double result = Math.sqrt(Math.pow(3, 2) + Math.pow(4, 2));
        double result = sqrt(pow(3, 2) + pow(4, 2));//可以省略Math.
    }
}

(4)自定义包

 包名一般是com.公司域名,如www.baidu.com,包名就可以写成com.baidu.www

(5)导入自定义包

 (6)包访问权限:在同一个包下都能访问

 (7)常见的包

举报

相关推荐

四、类和对象

类和对象(四)

类和对象总结

java类和对象基础知识总结

Java-对象与类-总结

Java——类和对象

【Java】类和对象

0 条评论