文章目录

  • 1、类
  • 2、对象类
  • 3、属性
  • 4、方法
  • 5、创建对象
  • 6、小作业

把这篇还有下一篇好好学学,你就能上手写大部分程序了,因为 Java 类就是这些组成的。开始闻到实际企业开发的味道了。

1、类

看下面代码:

package oc6;
/*** @author 太上码农/taishangcode* @desc 这是测试类*/
public class Test {public static void main(String[] args) {System.out.println("hello");}
}

这就是一个类啊,类名是 Test,里面有一个 main 方法。
类的组成就是属性和方法(什么内部类之类的你不知道就先不用管,先这么认为就对了)

2、对象类

网上商城,卖的那些衣服,电脑,手机等等,怎么用计算机代码表示呢?
Java 是一个面向对象的编程语言,一切皆对象。所以,衣服是对象,电脑是对象,手机也是对象,那么,我们就可以将拥有一类共同特征和属性的东西归纳为一类,用一个对象类来表示。这种类在企业中因不同的作用有好几个名字,大家可以先了解一下:各种O的区别,(读不懂没关系,等你学会了,回过头一看就明白,先碰个面就行)

企业中专门表示对象的类,一般只有两种内容:属性 + 操作属性的方法

3、属性

1) 定义属性的格式
访问修饰符 数据类型 变量名;
为什么不直接赋值呢?因为我们是通过类去创建一个一个的具体对象,除非固定的值,否则不会去直接赋值;

2) 上栗子
例如网上手机,有价格,有品牌,有内存大小等参数说明,还有库存数量的提示,怎么用类表示呢?这个时候,对象类的类名要有一定的代表意义:

package oc6;
/*** @author 太上码农/taishangcode* @desc 手机对象类*/
public class Phone {//访问修饰符有:public、protected、什么也不写(叫:默认修饰符)、private//上面几个从前往后权限依次降低,实话告诉你:实际企业开发中的对象类属性大都是用 private 修饰的//但是,我们现在只接触过 public,我们就先用 public//访问修饰符  数据类型 变量名;public double price;    //手机价格public String paizi;  //手机品牌public int size;  //手机内存大小
}

大家有没有发现,这跟我们在 main 方法中直接用 int a = 1 的方式不同,这种直接在类里面,方法外面定义的变量叫做类的成员变量。下面接着看方法

4、方法

1)定义方法的语法格式
访问修饰符 [可有可无的关键字] 返回值类型 方法名(参数列表) {
//代码
}
大家对比着 main 方法来理解一下

public static void main(String[] args) {//public:访问修饰符//static 根据要求要不要使用的关键字//void:返回值类型,void 代表没有返回值//main:方法名//String[] args:参数列表,代表 main 方法可以传递一个字符串数组进来
}

2)上栗子
比如,前端页面需要展示手机的牌子和价格,在后台我就可以写这样一个方法:

package oc6;
/*** @author 太上码农/taishangcode* @desc 手机对象类*/
public class Phone {public double price;    //手机价格public String paizi;  //手机品牌public int size;  //手机内存大小public void show() {//该方法就是展示手机牌子和价格的System.out.println("手机牌子是:"+paizi+",价格是:"+price);}
}

有小伙伴就开始想了,这样写,能运行出来啥东西?我说他也运行不出来啥,至少他现在都不能运行,因为还没给它加主入口 main 方法。你需要明白的是,我们现在以对象的形式在写手机类,这个类代表了所有含有这些属性的手机,那怎么得到具体的每个手机呢,这就是接下来的内容。

5、创建对象

前面接触过引用数据类型的数组的创建方法,是使用 new 关键字,字符串也可以通过 new 创建,那么类也是如此,上栗子:

package oc6;
/*** @author 太上码农/taishangcode* @desc 手机对象类*/
public class Phone {public double price;    //手机价格public String paizi;  //手机品牌public int size;  //手机内存大小public void show() {System.out.println("手机牌子是:"+paizi+",价格是:"+price);}public static void main(String[] args) {//语法:类名  对象名 = new 类名();//创建小米手机Phone xiaomi = new Phone();//给属性赋值:对象名.属性名 = 具体的值;xiaomi.paizi = "小米12";xiaomi.price = 2888;xiaomi.size = 6;//创建苹果手机Phone pingguo = new Phone();pingguo.paizi = "苹果12";pingguo.price = 4888;pingguo.size = 6;//查看两个手机牌子和价格的信息//调用方法:对象名.方法名();xiaomi.show();pingguo.show();}
}

运行结果如下:

现在知道除了固定值的属性,为啥不要在类中直接赋值了吧,是因为我们要创建不同的对象。大家注意下如何创建的对象,怎么给属性赋的值,怎么调用的方法

类是对象的类型,代码中 xiaomi 、pingguo 的类型都是 Phone。
对象是类的实例,xiaomi 和 pingguo 是 Phone 创建的两个具体实例。

6、小作业

假如你进了拳头公司, 参与开发 LOL 中的法师业务编写,现在安排任务如下:
1)编写一个法师类,属性有:法师姓名、基础移速、法强,并且编写一个展示英雄所有初始属性值的方法。
2)创建莫甘娜、炸弹人两个英雄角色,自己赋值,最后将两个英雄的属性展示出来。

学习 Java 的小伙伴,也可搜索并关注公众号 taishangcode 进行学习。

1-6 类、属性和方法(一)相关推荐

  1. 27、Python 面向对象(创建类、创建实例对象、访问属性、内置类属性、对象销毁、类的继承、方法重写、基础重载方法、运算符重载、类属性与方法、下划线双下划线)

    27Python面向对象(Python2) Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. ...

  2. java面向对象-------类属性和方法,不同类之间调用

    package java面向对象; /** * 类的创建 */public class Stu { //l类属性 int age; int id; String name; Computer comp ...

  3. python 类装饰器和继承_python装饰器、继承、元类、mixin,四种給类动态添加类属性和方法的方式(一)...

    介绍装饰器.继承.元类.mixin,四种給类动态添加类属性和方法的方式 有时候需要給类添加额外的东西,有些东西很频繁,每个类都需要,如果不想反复的复制粘贴到每个类,可以动态添加. 1 #coding= ...

  4. 基于Qt5.14.2和mingw的Qt源码学习(三) — 元对象系统简介及moc工具是如何保存类属性和方法的

    基于Qt5.14.2和mingw的Qt源码学习(三) - 元对象系统简介及moc工具是如何保存类属性和方法的 一.什么是元对象系统 1.元对象系统目的 2.实现元对象系统的关键 3.元对象系统的其他一 ...

  5. java 编写方法和属性,Java类属性及方法的定义

    文章导读 [在定义类时,经常需要抽象出它的属性和方法,并定义在类的主体中.本文探讨Java类属性及方法的定义和使用.通过本文的学习,你将了解如何在Java类中定义属性及方法.属性值的设置和获取.] 本 ...

  6. python类中的属性分为类属性和实例属性两种_python从入门到大神---1、初始化实例、类属性、方法...

    python从入门到大神---1.初始化实例.类属性.方法 一.总结 一句话总结: 方法不加括号是代码段:感觉python方法和js,php很类似,不加括号是代码段,加括号变成方法,比如f,f() 1 ...

  7. python的类属性和方法_Python中类属性、实例属性和实例方法的区别

    你似乎对概念有相当好的理解.很难找到用通用方式解释的信息,尤其是像python这样一种广泛使用的语言.我基本上会附和你的正确假设,并在此过程中做一些小的调整.在 类属性是将从类共享创建的所有对象的特征 ...

  8. Python 进阶_OOP 面向对象编程_类属性和方法

    目录 目录 类属性 调用类属性 查看类属性 特殊的类属性 类方法 真构造器 __new__ 类属性 在理解类属性之前要先搞清楚 实例属性 和 函数属性 之间的区别: 1. 实例属性:指的是实例化类对象 ...

  9. python类的使用(类定义,构造器,类属性,方法)

    注:这里只描述使用方法,具体类的概念长篇大论就不要为难我这个懒人了. 总之一句话编程语言只是一个工具,会用就行,好用就行.打破砂锅问到底,我觉得有必要研究一下C,汇编,电子链路等. class clt ...

  10. Python 面向对象编程:类的创建与初始化、实例属性与方法、类属性与方法

    1. 类的创建并实例化 类的定义:在Python中,类通过 class 关键字定义.按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的.下面是一 ...

最新文章

  1. 【深入Java虚拟机JVM 05】HotSpot对象探秘
  2. usb 进入suspend_USB的挂起和唤醒 (Suspend and Resume)
  3. 【学术】60%学者反映实验无法复现?Nature给出五招!
  4. c++十进制转二进制_二进制与十进制相互转换的原理
  5. linux中python编译器的配置_方舟编译器环境配置及源码编译过程详解
  6. 使用Fsharp 探索 Dotnet 平台
  7. 一键去除域名非80端口,去掉域名后面带的端口号快速解决方案
  8. 《转》常用的正则表达式
  9. 用Jersey构建RESTful服务简单示例
  10. js基础知识汇总01
  11. 使用Go实现Socket服务端和客户端通信
  12. Magisk中文文档
  13. 修复Windows 7升级Windows 10后Japanese输入法无法使用的Bug
  14. 程序员如何学习Hadoop大数据培训
  15. A*寻路算法之解决目标点不可达问题
  16. Linux系统学习方法论 1
  17. JS将数字金额转换为大写人民币汉字
  18. Debian个人使用入门
  19. Mysql数据库提权——UDF提权
  20. 灰度(金丝雀)发布、蓝绿部署、滚动发布

热门文章

  1. java 文件换行符作为分隔符
  2. Java使用POI操作Excel文件
  3. 从零开始的Linux学习日志
  4. RapidJSON报错: The document root must not be followed by other values.
  5. 【51nod】 最小约数 V2
  6. html expires缓存,expires
  7. CF484A Bits
  8. java filedescriptor_Java File 及 FileDescriptor
  9. [无线] Android 系统开发学习杂记
  10. 短视频APP是如何开启你的美好生活的?