Java基础学习
「这是我参与11月更文挑战的第3天,活动详情查看:2021最后一次更文挑战」。
1、private实现封装处理
如果像想要知道封装,首先必须清楚如果没有封装会怎么样?
没有封装方法中的属性,在所有方法被调用后都可以进行无权限的访问。而当进行了封装操作之后,在实例化对象访问该方法的时候会出现无法访问的问题。
1 | java复制代码TestDemo1.java:11: 错误: name 在 Person 中是 private 访问控制 |
解决该问题就需要通过getter、setter进行赋值、取值的操作。
1 | java复制代码class Person{ |
private实现封装的最大特征在于:只允许本类,而不允许外类访问
private只是封装的第一步,如果要学明白,还需要学习多态、继承。
2、构造方法与匿名对象
构造方法就是在使用关键字new实例化新对象的时候进行调用,但是对于构造方法需要遵守以下原则
- 方法名称必须与类名称相同,并且构造的方法没有返回值,每个类中一定至少有一个构造方法,如果类中没有明确的定义任何一个构造方法,如果类中没有定义任何一个构造方法,那么将自动生成一个无参的构造方法
- 构造方法是在new对象的时候才执行
疑问:既然构造方法中没有返回数据,为什么不使用void囊?
现在类中的组成:属性、普通方法、构造方法
属性是在对象开辟堆内存的时候开辟空间
构造方法是在使用关键字new的同时调用
普通方法是在new实例化对象完成之后进行调用的
构造方法的作用:
- 构造方法的调用和对象的内存分配几乎是同步完成,所以可以利用构造方法设置类中的属性内容,构造帆帆噶可以给类中的属性进行初始化
- 通过构造方法设置内容,实际上可以避免重复的setter调用了
- setter方法除了具备有设置内容之外,也可以承担修改数据的操作。
- 既然构造方法本身属于方法,那么方法就一定可以重载,而构造方法的重载更加简单,因为方法名称就是类名称所以能够做的只是实现参数的类型和个数的不同。
在定义若干个构造方法的时候按照参数的个数采用升序或降序进行排列。
1 | java复制代码class Person{ |
3、简单java类
1 | java复制代码class Emp{ |
4、数组
数组属于引用类型,所以在使用前一定要开辟空间,本身除了声明并开辟空间之外还有另一种开辟模式,采用我们的分布模式开辟数组空间。如果使用数组不开辟空间,会出现NullPointerException异常。
1 | java复制代码public class TestDemo3{ |
数组在开发之中一定会使用,但是像一些讲解的时候这么用的数组少了,在以后实际开发,会更多使用数组概念,而直接使用数组99%的情况下只是做for循环数组。
本文转载自: 掘金