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中的面向对象(基础)相关推荐

  1. java中的面向对象基础

    java中的面向对象基础 1.对象 #一切客观存在的事物都是对象,万物皆对象. #任何对象,一定具有自己的特征和行为. 2.类 (1)类的定义 (2)对象的创建 (3) 类与对象的关系 类:定义了对象 ...

  2. 第90节:Java中的Linux基础

    第90节:Java中的Linux基础 linux是装载虚拟机上面的: JDK依赖包: yum install glibc.i686MYSQL依赖包: yum -y install libaio.so. ...

  3. java饲养员喂动物_做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处...

    做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处 interface Animal{ //动物的接口    public void eat(Food food); // ...

  4. 第87节:Java中的Bootstrap基础与SQL入门

    第87节:Java中的Bootstrap基础与SQL入门 前言复习 什么是JQ? : write less do more 写更少的代码,做更多的事 找出所有兄弟: $("div" ...

  5. 并发王者课-铂金1:探本溯源-为何说Lock接口是Java中锁的基础

    欢迎来到<并发王者课>,本文是该系列文章中的第14篇. 在黄金系列中,我们介绍了并发中一些问题,比如死锁.活锁.线程饥饿等问题.在并发编程中,这些问题无疑都是需要解决的.所以,在铂金系列文 ...

  6. 铂金1:探本溯源-为何说Lock接口是Java中锁的基础

    欢迎来到<并发王者课>,本文是该系列文章中的第14篇. 在黄金系列中,我们介绍了并发中一些问题,比如死锁.活锁.线程饥饿等问题.在并发编程中,这些问题无疑都是需要解决的.所以,在铂金系列文 ...

  7. 17、Java中的面向对象的编程思想

    Java中的面向对象的编程思想 作者:韩茹 公司:程序咖(北京)科技有限公司 程序咖:IT职业技能评测平台 网址:https://www.chengxuka.com 任务 1. 面向对象 2. 面向过 ...

  8. Java中的线程基础知识

    Java中的线程基础知识 1.线程概念 线程是程序运行的基本执行单元.当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个 ...

  9. 简单理解Java中的面向对象

    java基础之面向对象 面向对象是什么 打个比方,你找对象的时候,是不是应该找人类?更具体点,你是在找茫茫人海中的一个个体,每个人都是不同的.在Java中,同一个类也是有不同的对象的,但都有相同的.基 ...

  10. 7、java中的面向对象思想和体现

    java是一种面向对象的程序设计语言,在程序中使用对象来描述具体的事物,当多个事物具有共同的特点时,可以将事物的共同特点进行抽象,然后封装成一个包含事物共同特点的集合,在java中叫做封装成一个类,可 ...

最新文章

  1. LeetCode简单题之递增顺序搜索树
  2. 青龙面板-傻妞sillyGirl xdd机器人频繁掉线解决方法
  3. Elasticsearch 因拷贝多余的jar到lib库导致无法启动的问题
  4. Spring【AOP模块】就是这么简单
  5. [转] NSMapTable 不只是一个能放weak指针的 NSDictionary
  6. mediumtext和string转换_数据类型 - 字符串类型 - 《TiDB v3.0 用户文档》 - 书栈网 · BookStack...
  7. echo回声不能用了_回声消除的昨天、今天和明天
  8. 推荐系统(5)-深度推荐模型-AutoRec、DeepCrossing、NeuralCF、PNN、WideDeep、FNN、DeepFM、NFM
  9. LintCode 1690. 朋友推荐(二分插入)
  10. nginx中的nginx.conf.default配置
  11. python tar 多目录压缩脚本,使用tarfile(Python)只压缩给定目录中的文件
  12. 《并行计算的编程模型》一3.5 远程内存访问:put和get
  13. php+uniapp(微信小程序版)实现电子签名及合同生成
  14. 读者福利,单独赠书啦!这次的书你肯定喜欢!
  15. 学习笔记——使用HiveSql建表
  16. 常见几种编码格式及比较
  17. python逻辑回归aic_机器学习算法介绍(附上R和python程序)-第二期
  18. 基于HL7的HIE平台
  19. java基础巩固-宇宙第一AiYWM:为了维持生计,四大基础之OS_Part_2整起~IO们那些事【包括五种IO模型:(BIO、NIO、IO多路复用、信号驱动、AIO);零拷贝、事件处理及并发等模型】
  20. linux学习篇 之 复制、黏贴、删除、撤销

热门文章

  1. Golang + HTML5 实现多文件上传
  2. 【热点资讯】哪所英国大学最适合你?
  3. 百融云创:互联网驶入深水区,金融科技保驾护航 | 会员专栏
  4. 剑指offer:用两个栈实现队列
  5. #4【BZOJ5109】[CodePlus 2017]大吉大利,晚上吃鸡!(未完成)
  6. 内涵社区APP,一款集内涵段子,百思不得其姐,煎蛋于一身的搞笑社区
  7. manjaro kde 20.2安装
  8. 网站443端口经常受到攻击怎么办
  9. Android快速开发之appBase——实战《购物车》
  10. 加ing形式的单词有哪些_初中英语中哪些单词后接动词要加ing形式