在2017的盛夏,刚从大学初入社会,当时的懵懂于胆怯让我有幸结识了Java,但是由于我出生硬件,理解起来很慢,也由于一些特殊原因,使得我放弃了Java。而今我迈入了一个新的工作环境才发现生活不易,对当年年少无知的我感到悔恨,索性抽出不怎么多的闲余时间来重新学习Java,不是为了重新踏入这个行业,只是为了充实自己,在博客园这个大牛的环境里 我慢慢的学习,也希望大家能给出一些指点于建议,一同学习。
简单的理解 类 与 对象:
类:物以类聚,顾名思义,类是一类事物的统称,例如人这个群体,有男女、老幼、贫富的区分,但是这些都属于 “人” 这一类。
对象:对象指的是类的具体实例,比如上述说的 “人” 一类中,存在一个叫小明的人,小明八尺有余,英俊潇洒,富可敌国,这些都是小明的属性,而小明则是 “人” 这个类中的具体实例。
一句化概括类于对象的关系:类 是对象的载体,而对象则是类的具体实例。
下面我们创建一个类 和 对象来具体说明其中的一些细节知识。
public class People {
int age;
String name;
public People(){
//默认的空的构造方法;
}
public People(int age,String name){
this.age = age;
this.name = name;
//有参构造
}
public void eat(){
syso("吃饭!")
}
}
上述我们创建了一个"People"类,首先类名必须大写开头,且后续每个单词的开头必须大写(接口名于类名规范一致),而后续类中存在一个方法名,方法名首个单词的字母需要小写,后续的每个单词首字母大写;在Java中关键字是有固定要求的,必须由 数字、字母、下划线、$组成,其中$使用的概率极小,且关键字不能以数字开头;属性的书写规范要求所有字母全为小写,而常量是一个特例,单词需要全部大写。
类中存在一种特殊的方法,其名称为: 构造方法;在默认的情况下(不人为的添加),Java会默认的存在无参构造(即没有参数且不会显示),但如果手动的添加有参构造方法,那么如果能用到无参构造方法的话,我们也需要手动的添加无参构造方法。构造方法存在的意义是为了初始化对象,利用关键字new来实例化对象,且一个对象的创建,构造方法就会执行一次,如果存在多个构造方法,那么可以选择指定参数或者无参数的构造方法来实例化对象;此处丢下一个构造块的问题,后续学习块时统一说明。
构造方法的重载:所谓构造方法重载就是,构造方法的方法名一致,但是形参列(引用参数的不同)表出现差异的现象。
构造方法中的 this. :上述有参构造中存在这this关键字,this.的存在是为了区分局部变量和成员变量,假设没有this. 那么上述有参构造中即为 name = name,则无法区分前后的name到底是成员变量还是局部变量;当利用了this.后则表示将对象的地址传递给了this。此处引出一个this(),后续学习继承实现时再说明(我也忘了)。
下面我们来为People创建一个对象,小明;
新建一个main方法的类:(一个.java<源文件>文件中只能存在一个public修饰的类,但可以存在多个其他的非public类)
public static void main(String args[]){
People xiaoming = new People(); //1
// People xiaoming = new People("20","小明"); //2
xiaoming.name = "小明";
xiaoming.age = 20;
xiaoming.eat();
}
因为在类中我们给出了两种构造方法:1.无参构造,2.有参构造;
1.无参构造中,我们直接利用实例化对象 xiaoming.来调用类中的方法 进行赋值(就是给创建的小明这个对象来添加属性的参数);
2.在有参构造中,我们只需要在People()的括号内添加指定的参数既可以完成复制;
此处说明一下 实例化对象的语句:
People xiaoming = new People();
上述式子中第一个People为类名,告诉我们实例化的是哪一个类的对象;xiaoming即为实例化对象的对象名称,此处不要和属性中的name弄混淆了; new是实例化对象的关键字;而最后一个People()则为类中的构造方法,使用哪一种构造方法根据情况自己决定,若利用无参构造那么直接如上的1所示,如果使用有参构造则需要在括号中添加指定的参数即可,如上述代码2。
最后我们在引出一些相关的文件知识:
包:包的存在主要是为了对java中的接口和类来进行分类的,在jdk中存在着很多的包,如最常见的lang包。如果要使用一些包中的方法,那么只需要将指定的包导入到现使用的包中即可;
import:import关键字即为“导包”的意思,其应道书写在文档开头的package 代码下方,例如:import java.io.*;这里的 “ * ”指的是将io包中的所有文档全部导入到当前的包中;
时间有限,能力有限,写的东西不多,也只是总结归纳一下相关自己知道的有限知识点,如果有幸碰到大牛希望帮我指点指点,再次谢谢各位大佬。
原文:https://www.cnblogs.com/givenline/p/12380948.html