物以类聚,人以群分,我们把具有相似特性或品质的物体归为一类。

类:类是一种模板,它描述一类对象的行为和状态。

对象:对象是类的一个实例,有状态和行为。

比如在一支nba球队中,每个球员都有球衣号码,场均得分,司职位置。每个球员都有共同的行为打篮球。那么我们可以抽取出一个篮球运动员的类

类的定义

在java语言中,使用class关键字来定义一个类

package lesson;

public class Player {

}

这样就定义了一个类,public是访问修饰符,表示这个类可以在其他地方都可以访问。Player是类名

在ide工具,先创建一个包。然后在这个包下面创建class文件,会自动创建对应类

成员变量

运动员都有球衣号码,得分,司职等属性。这在java类中可以表示为成员变量

package lesson;

public class Player {
public int number; //号码
public int score; //得分
public String position; //司职
}

声明成员变量的方式和普通变量的方式没有太大区别。只是可以在前面加上访问修饰符。并且声明在类中,不是在某个方法里。

方法

运动员都有一些行为,比如打篮球。这种行为可以在java类中表示为方法

package lesson;

public class Player {
public int number; //号码
public int score; //得分
public String position; //司职 public void playBall(){
System.out.println("我是"+this.number+"号,我司职"+this.position
+",这场我得到"+this.score+"分");
}
}

这样就添加了一个打篮球的方法

构造方法

类只是一个模板而已,要想能够使用,需要通过这个模板创建对象。类提供了一种方法专门用于创建对象。这种方法叫做构造方法,每个类都有一个默认的构造方法,方法名与类名一直。并且没有放回类型。

创建对象

new 构造方法() 通过这样的语句就可以创建一个对象,但是这样创建好的对象,在接下来是引用不到。所以需要给这个对象起一个名字。所以一般来说,是这样做的。

类名 对象名 = new 构造方法()

对象的运用

创建了对象后,可以根据需求来使用对象了。

给属性赋值的方式是:类名.属性名=值

调用方法的方式是:类名.方法名(参数)

package lesson;

public class Player {
public int number; //号码
public int score; //得分
public String position; //司职 public void playBall(){
System.out.println("我是"+this.number+"号,我司职"+this.position
+",这场我得到"+this.score+"分");
}
public static void main(String[] args){
Player player1 = new Player();
player1.number = 11;
player1.score = 19;
player1.position = "中锋";
player1.playBall();
}
}

这样我们就创建了一个叫yaoming的对象。赋值了属性和调用了方法

this关键字

在类中表示当前对象。也就说不同对象调用这个方法,打印出来是对象自身的属性。再创建一个对象来看下效果

package lesson;

public class Player {
public int number; //号码
public int score; //得分
public String position; //司职 public void playBall(){
System.out.println("我是"+this.number+"号,我司职"+this.position
+",这场我得到"+this.score+"分");
}
public static void main(String[] args){
Player player1 = new Player();
player1.number = 11;
player1.score = 19;
player1.position = "中锋";
player1.playBall(); Player player2 = new Player();
player2.number = 1;
player2.score = 13;
player2.position = "得分后卫";
player2.playBall(); }
}

java学习笔记09-类与对象的更多相关文章

  1. Java学习笔记之---类和对象

    Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态  例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...

  2. Java学习笔记 04 类和对象

    一.类和对象的概念 类 >>具有相同属性和行为的一类实体 对象 >>实物存在的实体.通常会将对象划分为两个部分,即静态部分和动态部分.静态部分指的是不能动的部分,被称为属性,任 ...

  3. Java学习笔记之——类与对象

    1.参数的传递方式 1)值传递 2)引用传递 2.类和对象: (1)类的定义: public class 类名{ 类型 属性1: 类型 属性2: ……… public 返回值类型 方法名1(形参){ ...

  4. 1.2(java学习笔记)类与对象

      对象:是指具体的事物.比如学生 张三,老师 李四,代表一个单一的个体. 比如 学生 张三,这时张三就是具体的对象. 类:将对象中共有特征抽象出,可以理解为某种特性的集合. 世界上的事物可以分解成一 ...

  5. Java学习笔记——File类之文件管理和读写操作、下载图片

    Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...

  6. Java学习笔记(2)--- 对象和类入门,java包,this 和 super区别

    1.对象和类(Object and class): 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作. 面对对象编程是java非常重要的一部分,作者本身之前学过c ...

  7. Java学习笔记9(面象对象9:多态)

    多态概述 多态是继封装.继承后,面对对象的第三大特性. 现实事物经常会出现多态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态. Java作为面向对象的语言,同样可以描述一 ...

  8. Java 学习笔记 ------第五章 对象封装

    本章学习目标: 了解封装的概念与实现 定义类.构造函数与方法 使用方法重载与不定长度自变量 了解static方法 一.Java封装概念 在面向对象程式设计方法中,封装(英语:Encapsulation ...

  9. 0018 Java学习笔记-面向对象-类的基本要素

    类与对象 大街上一个个的人,就是一个个对象 类是对一群对象的抽象,比如人都有性别.年龄.姓名,都会吃饭.睡觉等.姓名性别可以抽象为变量,吃饭睡觉可以抽象为方法,像下面一样定义个类来形容人 public ...

  10. Java学习笔记(七)——对象

    一.类与对象 1.类的定义 类就是模型,确定对象将会拥有的特征(属性)和行为(方法). 2.类的特点 (1)类是对象的类型 (2)具有相同属性和方法的一组对象的集合. 3.对象的属性: 对象具有的各种 ...

随机推荐

  1. [Alpha阶段]事后分析博客

    目录 Alpha阶段事后分析博客 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 讨论照片 Alpha阶段事后分析博客 作业要求:Alpha阶段事后分析 设想和 ...

  2. 认识 WebService

     什么是服务? 1)现在的应用程序变得越来越复杂,甚至只靠单一的应用程序无法完成全部的工作.更别说只使用一种语言了. 2)大家在写应用程序查询数据库时,并没有考虑过为什么可以将查询结果返回给上层的应用 ...

  3. DNS预解析prefetch

    前面的话 本文将详细介绍DNS预解析prefetch的主要内容 概述 DNS(Domain Name System, 域名系统),是域名和IP地址相互映射的一个分布式数据库.DNS 查询就是将域名转换 ...

  4. Nginx HTTP变量原理

    L:72 首先如何获取url追加参数值 如: http://www.xxx.com?a=1&b=2 return '$arg_a, $arg_b'; #通过前缀 arg_a 就能获取到 参数a ...

  5. Oracle 给予访问其他用户包的权限

    grant execute on apps.SPM_CON_INVOICE_INF_PKG to diq; grant  DEBUG on apps.SPM_CON_INVOICE_INF_PKG t ...

  6. 「快速傅里叶变换(FFT)」学习笔记

    FFT即快速傅里叶变换,离散傅里叶变换及其逆变换的快速算法.在OI中用来优化多项式乘法. 本文主要目的是便于自己整理.复习 FFT的算法思路 已知两个多项式的系数表达式,要求其卷积的系数表达式. 先将 ...

  7. Miller_Rabbin&&Pollard_Rho 学习笔记

    占坑,待填 I Intro 首先我们考虑这样一个问题 给定一个正整数\(p(p<=1e8)\),请判断它是不是质数 妈妈我会试除法! 于是,我们枚举$ \sqrt p$ 以内的所有数,就可以非常 ...

  8. Redisson实现分布式锁

    转: Redisson实现分布式锁 Redisson文档参考:https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95 redis是实现 ...

  9. 20175209 《Java程序设计》第七周学习总结

    20175209 <Java程序设计>第七周学习总结 一.教材知识点总结 第八章 常用类和实用类 1.String类 构造String对象 常量对象:""中的字符序列, ...

  10. 【Unity游戏开发】你真的了解UGUI中的IPointerClickHandler吗?

    一.引子 马三在最近的开发工作中遇到了一个比较有意思的bug:“TableViewCell上面的某些自定义UI组件不能响应点击事件,并且它的父容器TableView也不能响应点击事件,但是TableV ...