1-6 类、属性和方法(一)
文章目录
- 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 类、属性和方法(一)相关推荐
- 27、Python 面向对象(创建类、创建实例对象、访问属性、内置类属性、对象销毁、类的继承、方法重写、基础重载方法、运算符重载、类属性与方法、下划线双下划线)
27Python面向对象(Python2) Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. ...
- java面向对象-------类属性和方法,不同类之间调用
package java面向对象; /** * 类的创建 */public class Stu { //l类属性 int age; int id; String name; Computer comp ...
- python 类装饰器和继承_python装饰器、继承、元类、mixin,四种給类动态添加类属性和方法的方式(一)...
介绍装饰器.继承.元类.mixin,四种給类动态添加类属性和方法的方式 有时候需要給类添加额外的东西,有些东西很频繁,每个类都需要,如果不想反复的复制粘贴到每个类,可以动态添加. 1 #coding= ...
- 基于Qt5.14.2和mingw的Qt源码学习(三) — 元对象系统简介及moc工具是如何保存类属性和方法的
基于Qt5.14.2和mingw的Qt源码学习(三) - 元对象系统简介及moc工具是如何保存类属性和方法的 一.什么是元对象系统 1.元对象系统目的 2.实现元对象系统的关键 3.元对象系统的其他一 ...
- java 编写方法和属性,Java类属性及方法的定义
文章导读 [在定义类时,经常需要抽象出它的属性和方法,并定义在类的主体中.本文探讨Java类属性及方法的定义和使用.通过本文的学习,你将了解如何在Java类中定义属性及方法.属性值的设置和获取.] 本 ...
- python类中的属性分为类属性和实例属性两种_python从入门到大神---1、初始化实例、类属性、方法...
python从入门到大神---1.初始化实例.类属性.方法 一.总结 一句话总结: 方法不加括号是代码段:感觉python方法和js,php很类似,不加括号是代码段,加括号变成方法,比如f,f() 1 ...
- python的类属性和方法_Python中类属性、实例属性和实例方法的区别
你似乎对概念有相当好的理解.很难找到用通用方式解释的信息,尤其是像python这样一种广泛使用的语言.我基本上会附和你的正确假设,并在此过程中做一些小的调整.在 类属性是将从类共享创建的所有对象的特征 ...
- Python 进阶_OOP 面向对象编程_类属性和方法
目录 目录 类属性 调用类属性 查看类属性 特殊的类属性 类方法 真构造器 __new__ 类属性 在理解类属性之前要先搞清楚 实例属性 和 函数属性 之间的区别: 1. 实例属性:指的是实例化类对象 ...
- python类的使用(类定义,构造器,类属性,方法)
注:这里只描述使用方法,具体类的概念长篇大论就不要为难我这个懒人了. 总之一句话编程语言只是一个工具,会用就行,好用就行.打破砂锅问到底,我觉得有必要研究一下C,汇编,电子链路等. class clt ...
- Python 面向对象编程:类的创建与初始化、实例属性与方法、类属性与方法
1. 类的创建并实例化 类的定义:在Python中,类通过 class 关键字定义.按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的.下面是一 ...
最新文章
- 【深入Java虚拟机JVM 05】HotSpot对象探秘
- usb 进入suspend_USB的挂起和唤醒 (Suspend and Resume)
- 【学术】60%学者反映实验无法复现?Nature给出五招!
- c++十进制转二进制_二进制与十进制相互转换的原理
- linux中python编译器的配置_方舟编译器环境配置及源码编译过程详解
- 使用Fsharp 探索 Dotnet 平台
- 一键去除域名非80端口,去掉域名后面带的端口号快速解决方案
- 《转》常用的正则表达式
- 用Jersey构建RESTful服务简单示例
- js基础知识汇总01
- 使用Go实现Socket服务端和客户端通信
- Magisk中文文档
- 修复Windows 7升级Windows 10后Japanese输入法无法使用的Bug
- 程序员如何学习Hadoop大数据培训
- A*寻路算法之解决目标点不可达问题
- Linux系统学习方法论 1
- JS将数字金额转换为大写人民币汉字
- Debian个人使用入门
- Mysql数据库提权——UDF提权
- 灰度(金丝雀)发布、蓝绿部署、滚动发布