java中的面向对象基础
java中的面向对象基础
1、对象
#一切客观存在的事物都是对象,万物皆对象。
#任何对象,一定具有自己的特征和行为。
2、类
(1)类的定义
(2)对象的创建
(3) 类与对象的关系
类:定义了对象应具有的特征和行为,类是对象的模板。
对象:拥有多个特征和行为的实体,对象是类的实例。
代码示例:
public class TestOOP {public static void main(String[] args) {// 1. 创建Dog类型的对象,并保存在dog变量当中Dog dog = new Dog();// 2.访问属性:为各个属性赋值dog.breed = "萨摩";dog.age = 3;dog.sex = "公";dog.furColor = "白色";// 3.访问属性:从各个属性中取值System.out.println(dog.breed + " " + dog.age + " " + dog.sex + " " + dog.furColor);// 4.调用对象的方法dog.eat();dog.sleep();}
}class Dog {// 在现实中的一组相同或类似的对象中,提取共性的特征和行为,保存在程序中的模板里(类)// 属性-实例变量String breed; // 品种int age; // 年龄String sex; // 性别String furColor;// 毛色// 方法-实例方法eat()public void eat() {System.out.println("爱蹦...");}// 方法-实例方法sleep()public void sleep() {System.out.println("爱跳...");}}
3、构造方法
构造方法:是类中的特殊方法,主要用于创建对象。
特点:
- 名称与类名完全相同。
- 没有返回值类型。
- 创建对象时,触发构造方法的调用,不可通过句点手动调用。
构造方法又分为无参构造方法和有参构造方法:
无参构造方法:
默认存在,但是一旦添加了有参构造方法,便会覆盖无参构造方法,需要使用的时候,必须手动添加
格式:访问修饰符 类名(){ }
有参构造方法:
需要手动添加,可以存在1个或者多个参数的有参构造方法
格式:访问修饰符 类名(参数类型1 参数名1,参数类型2 参数名2,…){ }
在得知对象中的属性,直接通过有参构造方法创建对象,会比无参构造方法方便
有参构造方法 = 无参构造方法 + 一个或者多个set( )
无参构造方法:
public class Demo01 {String name;int age;String sex;//无参构造方法创不创建都没关系,因为它是默认存在的public Demo01(){}public void setName(String name) {this.name = name;}public void setAge(int age) {this.age = age;}public void setSex(String sex) {this.sex = sex;}}
public class Demo02 {public static void main(String[] args) {//创建对象的时候单独赋值Demo01 demo01 = new Demo01();demo01.setName("小明");demo01.setAge(18);demo01.setSex("男");}
}
有参构造方法:
public class Demo01 {String name;int age;String sex;//创建了有参构造方法就不用写setName、setAge、setSex这3个方法了public Demo01(String name, int age, String sex) {this.name = name;this.age = age;this.sex = sex;}}
public class Demo02 {public static void main(String[] args) {//创建对象的时候直接赋值Demo01 demo01 = new Demo01("小明",18,"男");}
}
4、this关键字:指向当前类的类对象
this关键字的两种用法:
(1)第一种用法:调用实例属性、实例方法。如:this.name、this.sayHi()。
public class Demo {public static void main(String[] args) {Student stu = new Student();stu.sayHi();}
}
class Student{String name = "小明";public void sayHi() {//当实例变量和局部变量重名时,优先访问局部变量;//此时,如需访问实例变量,需要增加this.前缀;//不存在重名时,则可省略this。String name = "小陈";System.out.println(name);System.out.println(this.name);}
}
//运行结果:
// 小陈
// 小明
(2)第二种用法:调用本类中的其他构造方法。如:this()、this(实参)。
class Student{String name;int age;String sex;public Student(String name,int age) {this.name = name;this.age = age;}public Student(String name,int age,String sex) {//在构造方法中,调用本类的其他构造方法,即可复用构造方法中的逻辑代码;//三参构造将接收到的实参直接传递给三参构造进行属性赋值。this(name,age);this.sex = sex;}
}
- this():调用无参构造
- this(实参):调用有参构造
- 注:必须在构造方法的首行
java中的面向对象基础相关推荐
- 第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中叫做封装成一个类,可 ...
最新文章
- qt 删除文件夹_Qt 贪吃蛇制作(含源码)
- 【solr基础教程之一】Solr相关知识点串讲
- 如何需求分析和编写测试用例
- Ubuntu 16.04 软件安装
- struts2+hibernate3.3+spring3.0 实现零配置
- 应急响应系统日志及日志分析四
- DatePicker 设置最小日期是当前时间报错:java.lang.IllegalArgumentException: fromDate:xxx does not preced toDate: xx
- html代码清明节,清明节网上祭祀网站登陆地址:http://www.tsingming.com/index.html
- GPIB编程控件指令
- Unity中的UI相关组件
- 备份Ubuntu12.04 并制作成iso安装文件
- 不懂年轻人,还怎么带团队
- 黑马《linux基础编程》学习笔记(从16到20)
- Oracle 服务器连不上解决方式(远程telnet 1521端口失败)
- 中建五局电子合同:打通全业务数字化链路
- 计算机桌面图标的排列,win7电脑桌面图标排列方式如何设置,电脑桌面图标排列方式设置方法...
- position:fixed 固定定位
- 别再胡乱写简历了,一份适合普通大众的简历模版,送给大家
- Windows环境下使用Python设计应用软件——【1】pyqt设计界面
- python基础命令