java中的面向对象(基础)
java面向对象基础
类和对象
类:
· 类是对现实生活中一类具有共同属性和行为的抽象
· 类是对象的属性,是具有相同属性和行为的一组对象的集合
· 类是现实事物的一种描述
· 类由属性和行为组成
对象:
· 具有属性和行为的真实存在的事物。
总结: 类是对事物的描述, 对象是具体的事物。
类的定义格式
在java中的类也具有属性和行为。
属性: 成员变量, 类中的方法外定义的变量
方法: 成员方法,类里面的方法, 不带static 关键字
/*定义一个学生类, 属性有姓名和年龄。 行为: 学习
*/
public class Student {// 成员变量, 也就是类的属性int age;String name;
// 成员方法, 也就是类的行为public void study() {System.out.println("学习");}
}
对象
对象根据类来创建,是具体的对象, 格式为 类名 变量名 = new 类名
/*使用Student类创建一个学生对象,姓名为 hjw 年龄18
*/
public class StudentTest() {public static void main(String[] args) {Student s1 = new Student();// 为s1对象增加姓名和年龄, 使用学习方法s1.name = "hjw";s1.age = 18;s1.study(); // "学习"}
}
private关键字和this
private是一个修饰符。 类中的成员变量使用了private修饰,实例对象就不能直接点语法访问这个成员变量。
若要访问private修饰的变量,需要定义对应的get set方法。
this关键字, 代表对象的实例, 哪个对象调用方法, this就指向哪个对象。
// 定义一个教师类
class Techer() {private int age;private String name;public int getAge() {return this.age;}public void setAge(int age) {this.age = age}public String getName() {return this.name;}public void setName(String name) {this.name = name;}
}// 使用教师类
public class TecherDemo() {public static void main(String[] args) {Techer t1 = new Techer();//t1.name = "李老师"; //报错 private修饰无法访问t1.setName("李老师");ti.setAge(20);System.out.println(t1.getName());System.out.println(t2.getAge());}
}
构造方法
对象在创建时默认调用的方法, 也就是 new 对象 的时候调用的方法。系统默认实现了一个构造方法,什么事情也没有做。
我们也可以自己创建构造方法 ,方法名与类名相同就是构造方法。使用构造方法接收参数可以在 new 的时候为成员变量赋值。
如果自定义了带参数的构造方法, 也要写一个重构的无参构造方法, 推荐用法, 不管是否使用构造方法, 定义类时都自己实现。
构造方法不需要待static 和 返回类型
// 定义一个人的类。 使用private关键字 与构造方法。
class Person {private String name;private int age;// 无参构造方法 public Person() {}// 带参构造方法 public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return this.name;}public void setName(String name) {this.name = name;}public int getAge() {return this.age;} public void setAge(int age) {this.age = age;}
}public class PersonDemo() {public static void main(String[] args) {Person p1 = new Person();p1.setName = "hjw";p1.setAge = "88";Person p2 = new Person("小明", 18);}
}
java中的面向对象(基础)相关推荐
- java中的面向对象基础
java中的面向对象基础 1.对象 #一切客观存在的事物都是对象,万物皆对象. #任何对象,一定具有自己的特征和行为. 2.类 (1)类的定义 (2)对象的创建 (3) 类与对象的关系 类:定义了对象 ...
- 第90节:Java中的Linux基础
第90节:Java中的Linux基础 linux是装载虚拟机上面的: JDK依赖包: yum install glibc.i686MYSQL依赖包: yum -y install libaio.so. ...
- java饲养员喂动物_做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处...
做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处 interface Animal{ //动物的接口 public void eat(Food food); // ...
- 第87节:Java中的Bootstrap基础与SQL入门
第87节:Java中的Bootstrap基础与SQL入门 前言复习 什么是JQ? : write less do more 写更少的代码,做更多的事 找出所有兄弟: $("div" ...
- 并发王者课-铂金1:探本溯源-为何说Lock接口是Java中锁的基础
欢迎来到<并发王者课>,本文是该系列文章中的第14篇. 在黄金系列中,我们介绍了并发中一些问题,比如死锁.活锁.线程饥饿等问题.在并发编程中,这些问题无疑都是需要解决的.所以,在铂金系列文 ...
- 铂金1:探本溯源-为何说Lock接口是Java中锁的基础
欢迎来到<并发王者课>,本文是该系列文章中的第14篇. 在黄金系列中,我们介绍了并发中一些问题,比如死锁.活锁.线程饥饿等问题.在并发编程中,这些问题无疑都是需要解决的.所以,在铂金系列文 ...
- 17、Java中的面向对象的编程思想
Java中的面向对象的编程思想 作者:韩茹 公司:程序咖(北京)科技有限公司 程序咖:IT职业技能评测平台 网址:https://www.chengxuka.com 任务 1. 面向对象 2. 面向过 ...
- Java中的线程基础知识
Java中的线程基础知识 1.线程概念 线程是程序运行的基本执行单元.当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个 ...
- 简单理解Java中的面向对象
java基础之面向对象 面向对象是什么 打个比方,你找对象的时候,是不是应该找人类?更具体点,你是在找茫茫人海中的一个个体,每个人都是不同的.在Java中,同一个类也是有不同的对象的,但都有相同的.基 ...
- 7、java中的面向对象思想和体现
java是一种面向对象的程序设计语言,在程序中使用对象来描述具体的事物,当多个事物具有共同的特点时,可以将事物的共同特点进行抽象,然后封装成一个包含事物共同特点的集合,在java中叫做封装成一个类,可 ...
最新文章
- LeetCode简单题之递增顺序搜索树
- 青龙面板-傻妞sillyGirl xdd机器人频繁掉线解决方法
- Elasticsearch 因拷贝多余的jar到lib库导致无法启动的问题
- Spring【AOP模块】就是这么简单
- [转] NSMapTable 不只是一个能放weak指针的 NSDictionary
- mediumtext和string转换_数据类型 - 字符串类型 - 《TiDB v3.0 用户文档》 - 书栈网 · BookStack...
- echo回声不能用了_回声消除的昨天、今天和明天
- 推荐系统(5)-深度推荐模型-AutoRec、DeepCrossing、NeuralCF、PNN、WideDeep、FNN、DeepFM、NFM
- LintCode 1690. 朋友推荐(二分插入)
- nginx中的nginx.conf.default配置
- python tar 多目录压缩脚本,使用tarfile(Python)只压缩给定目录中的文件
- 《并行计算的编程模型》一3.5 远程内存访问:put和get
- php+uniapp(微信小程序版)实现电子签名及合同生成
- 读者福利,单独赠书啦!这次的书你肯定喜欢!
- 学习笔记——使用HiveSql建表
- 常见几种编码格式及比较
- python逻辑回归aic_机器学习算法介绍(附上R和python程序)-第二期
- 基于HL7的HIE平台
- java基础巩固-宇宙第一AiYWM:为了维持生计,四大基础之OS_Part_2整起~IO们那些事【包括五种IO模型:(BIO、NIO、IO多路复用、信号驱动、AIO);零拷贝、事件处理及并发等模型】
- linux学习篇 之 复制、黏贴、删除、撤销
热门文章
- Golang + HTML5 实现多文件上传
- 【热点资讯】哪所英国大学最适合你?
- 百融云创:互联网驶入深水区,金融科技保驾护航 | 会员专栏
- 剑指offer:用两个栈实现队列
- #4【BZOJ5109】[CodePlus 2017]大吉大利,晚上吃鸡!(未完成)
- 内涵社区APP,一款集内涵段子,百思不得其姐,煎蛋于一身的搞笑社区
- manjaro kde 20.2安装
- 网站443端口经常受到攻击怎么办
- Android快速开发之appBase——实战《购物车》
- 加ing形式的单词有哪些_初中英语中哪些单词后接动词要加ing形式