3、Java 对象和类
1、理解Java中的类和对象
对象:
作为学习计算机专业的很有意思,跟朋友开玩笑说,我有很多对象,没有就new一个。对象可以说是类的实例,通过类的构造方法得到的一个对象实例。它拥有此对象应有的行为与方法。例如:一只猫猫就是一个对象,他拥有颜色,姓名,蓝眼睛等状态,爬树,吃老鼠,吃猫粮,睡觉等行为。
类:
类是Java中常见且常用的,关键字为class。万物皆可以抽象为不同的类,类是对有相似行为、状态的一些实例的抽象。对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。
举个例子:
我们发的卷子出的题都是一样的 相当于一个类 ,而每个同学做的都相当于对象了
造汽车的图纸相当于类,而造出来的汽车相当于对象了
每个学校的老师是一个类,但是具体到每个老师就是对象了
2、Java中的类
直接看代码,我会解释!
package cn.fage.three;
/**
* @author lin
* @version 1.0
* @date 2020-06-18 9:25
* @Description 人
*/
public class Person {
/**
* 姓名
*/
String name;
/**
* 年龄
*/
int age;
/**
* 国家
*/
String nation;
/**
* 无参构造器
*/
public Person() {
}
/**
* 有参构造器
*
* @param name
* @param age
* @param nation
*/
public Person(String name, int age, String nation) {
this.name = name;
this.age = age;
this.nation = nation;
}
/**
* 睡觉
*/
public void sleeping() {
System.out.println(this.name + " go to sleep");
}
/**
* 吃东西
*/
public void eat(String food) {
System.out.println("国家来自 " + this.nation + " " + this.age + "岁的" + this.name + "喜欢吃" + food);
}
public static void main(String[] args) {
Person p1 = new Person("张三", 7, "中国");
Person p2 = new Person("jack", 6, "美国");
String p1Name = p1.name;
System.out.println("p1Name = " + p1Name);
String p2Name = p2.name;
System.out.println("p2Name = " + p2Name);
p1.eat("糖果");
p2.eat("巧克力");
p1.sleeping();
p2.sleeping();
}
}
执行结果:
p1Name = 张三
p2Name = jack
国家来自 中国 7岁的张三喜欢吃糖果
国家来自 美国 6岁的jack喜欢吃巧克力
张三 go to sleep
jack go to sleep
可以看出来自中国 7岁 的 张三喜欢吃糖果,来自美国 6岁的 jack 喜欢吃巧克力.
Person 是类名
name、age、nation 是 person类的基本属性
eat()和sleep()是类中的俩个方法(行为)
3、构造方法
每个类都有一个默认的空参数的构造方法。比如:
/**
* 无参构造器
*/
public Person() {
}
/**
* 有参构造器
*
* @param name
* @param age
* @param nation
*/
public Person(String name, int age, String nation) {
this.name = name;
this.age = age;
this.nation = nation;
}
使用构造的原因:
是为了得到类的实例。
使用无参构造和有参构造能发生什么?
1、都可以得到对应类的实例
2、无参构造无法将基本属性赋值,有参构造可以使基本属性拥有值。
4、创建对象实例
在Java中做什么事都离不开实例,没有实例任何事情、行为都做不了。
Person p1 = new Person("张三", 7, "中国");
通过有参构造方法得到了p1 的 实例,操作p1可以得到他的基本属性,调用它的方法。
在执行的过程中分为三步:
声明、实例化、初始化
有兴趣可以仔细研究
5、访问实例变量(基本属性)和调用方法
创建对象实例后,通过该实例可以访问变量,调用方法,比如:
public static void main(String[] args) {
Person p1 = new Person("张三", 7, "中国");
Person p2 = new Person("jack", 6, "美国");
String p1Name = p1.name;
System.out.println("p1Name = " + p1Name);
String p2Name = p2.name;
System.out.println("p2Name = " + p2Name);
p1.eat("糖果");
p2.eat("巧克力");
p1.sleeping();
p2.sleeping();
}
6、源文件生命规则
当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则。
一个源文件中只能有一个public类
一个源文件可以有多个非public类
源文件的名称应该和public类的类名保持一致。例如:源文件中public类的类名是Employee,那么源文件应该命名为Employee.java。
如果一个类定义在某个包中,那么package语句应该在源文件的首行。
如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该在源文件中最前面。
import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。
类有若干种访问级别,并且类也分不同的类型:抽象类和final类等。这些将在访问控制章节介绍。
除了上面提到的几种类型,Java还有一些特殊的类,如:内部类、匿名类。
7、Java包
包主要用来对类和接口进行分类。当开发Java程序时,可能编写成百上千的类,因此很有必要对类和接口进行分类。
8、Import语句
在Java中,如果给出一个完整的限定名,包括包名、类名,那么Java编译器就可以很容易地定位到源代码或者类。Import语句就是用来提供一个合理的路径,使得编译器可以找到某个类。
例如,下面的命令行将会命令编译器载入java_installation/java/io路径下的所有类
import java.io.*;
* 发哥讲*
如果你觉得文章还不错,就请关注博主吧
● 扫码关注我们
3、Java 对象和类的更多相关文章
- Java-Runoob:Java 对象和类
ylbtech-Java-Runoob:Java 对象和类 1.返回顶部 1. Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 ...
- (五)Java 对象和类
Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 消息解析 本节我们重点研究对象和类的概念. 对象:对象是类的一个实例,有状态和行为. ...
- Java 教程 (Java 对象和类)
Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 本节我们重点研究对象和类的概念. 对象:对象是类的一个实例(对象不是找个女朋友 ...
- JavaSE基础(十二)--Java 对象和类
Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 本节我们重点研究对象和类的概念. 对象:对象是类的一个实例(对象不是找个女朋友 ...
- Java对象转xml报文和xml报文转Java对象帮助类
import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marsha ...
- java对象和类学习
定义对象的类: 一个对象的状态(属性或特征)是指那些具有他们当前值的数据域 一个对象的行为是由方法定义的,调用对象的方法就是完成对象的一个动作 使用一个通用类来定义同一类型的对象.类是一个模板,一个对 ...
- Java对象与类中的一个小练习
一直在Eclipse里做练习.是做一个练习,执行一个的那种.刚刚学习了Java的对象与类,练习中把类和执行放在同一包下的两个.java文件里面了.是可以执行的.(Get) 相关代码: public c ...
- JAVA对象和类
Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 Java中的类 类可以看成是创建Java对象的模板. 通过下面一个简单的类来理解下Java中类的定 ...
- 重新学习Java——对象和类(二)
上一节回归了如何以面向对象的思想去使用一些Java中的公共类,也设计了一些自己的类并介绍了设计类的基本方法和技巧,这一节我们将继续回顾这些内容,并争取从中获得新的体验和感受. 1. 静态域与静态方法 ...
- 重新学习Java——对象和类(一)
之前通过记笔记的方法,对于<Java核心技术>这本书的前一章进行了重新的复习,感觉效果很好,比单独看书带来了更好的复习效果,了解了很多以前不是很注意的一些细节,但是在一些自己较为熟悉的地方 ...
随机推荐
- Spring Boot整合swagger使用教程
目录 Swagger的介绍 优点与缺点 添加swagger 1.添加依赖包: 2.配置Swagger: 3.测试 场景: 定义接口组 定义接口 定义接口请求参数 场景一:请求参数是实体类. 场景二:请 ...
- Python切图脚本
背景: 时值疫情,作业需要在网上提交.最近老师改变了交作业方式,之前是提交完整的作业图片即可,现在需要将完整的作业图片切分成一题一题的提交,如果手动切分较麻烦,故本人写了个python脚本实现自动切分 ...
- 事件的event对象基本解释
事件流: 描述的是在页面中接受事件的顺序主要分为两种: 事件冒泡.事件捕获 事件event对象:1. type 获取事件类型2. target获取事件目标3. stopPropagation() 阻止 ...
- Windows下配置ChromeDriver
1.查看自己chrome浏览器的版本. 浏览器地址栏输入以下地址 chrome://version 2.通过自己的版本下载相应的chromedriver.exe 下载地址:http://npm.tao ...
- PHP实现多继承
题问php是否支持多继承? 答案:不可以,只支持单继承. 如何实现多继承呢? 答案:可以使用 interface 或 trait 实现 . interface这里我们就不做过多的说明了,它的原理就是一 ...
- 史上最全的 jmeter 获取 jdbc 数据使用的4种方法——(软件测试Python自动化)
周五,下班了吗?软件测试人. 明天是周末了!给大家推荐一个技术干货好文.史上最全的 jmeter 获取 jdbc 数据使用的四种方法.我也精剪了jmeter的自动化接口测试的视频放在了同名UP主,周末 ...
- 【DevCloud·敏捷智库】如何利用用户故事了解需求
摘要:这篇文章主要解决因为不能很好地理解需求而估算做不好的问题,在这里可以了解下如何利用用户故事了解需求. 背景 很多团队在应用敏捷开发时,对估算经常感到困惑.这里所说的估算是指产品列表条目(PBI, ...
- spring学习(七)spring整合JDBC
Spring中封装了一个可操作数据库的对象,该对象封装了JDBC技术 使用数据库 一.导包(IDEA的maven工程,在pom.xml文件中导入依赖,必须注意依赖,不然会报各种异常) <?xml ...
- [leetcode/lintcode 题解] 谷歌面试题:找出有向图中的弱连通分量
请找出有向图中弱连通分量.图中的每个节点包含 1 个标签和1 个相邻节点列表.(有向图的弱连通分量是任意两点均有有向边相连的极大子图) 将连通分量内的元素升序排列. 在线评测地址:https://ww ...
- Python编程初学者指南|百度网盘免费下载|Python新手入门资料
Python编程初学者指南|百度网盘免费下载 提取码:9ozx 目录 · · · · · · 第1章 启程:Game Over程序1.1 剖析Game Over程序1.2 Python简介1.2.1 ...