在Java中表示自定义的数据类型,一个class可以是若干基本类型的组合。

public class Student
{
public String id;//学号
public String name;//姓名
public boolan sex; //true :男 false:女
public String cellphone;//手机号 }

- Student 称为类的名称,一般以大写字母开头;

- id,name,sex,cellphone 则称为类的属性,与变量的命名规则相同。

- 属性可以是int/string/double/boolean/等基本类型

创建对象

//创建对象:在定义了类型之后,就可以创建该类型的对象
Student s1 = new Student();
s1.id = "20191015";
s1.name = "王草";
s1.sex = true;
s1.cellphone = "123456789";

- new Student()表示创建一个Student类型的对象;

- s1.id 表示对象 s1的id属性,中间是一个句点。可读着“对象s1 的id属性”

什么是类与对象?

类:可以理解为一个大的集合,比如鸟可以称作为类;

对象:可以理解为是类的一个个体,比如麻雀是鸟类的一个个体,此称为对象。

常见错误:

//常见错误
Student.name = "solo";

因为 Student是一个类型描述,不能说学生的名字是solo,只能说是某个学生的名字是solo。

//正确写法
Student stu =new Student();//先创建对象stu
stu.name = "solo"; //访问对象的属性

先创建对象,再访问该对象的属性。

类的属性

public class Student
{
public String id;//学号
public String name;//姓名
public boolan sex; //true :男 false:女
public String cellphone;//手机号 }

Student 是一个类,属性是id,name,sex,cellphone,而属性的类型也是多种 int ,String,double,boolean等

类的书写步骤

第一步:确认类的名字

第二步:书写类的属性

public class Book // 确认类的名字
{  
  //定义内容
public String title;
public String author;
public String press;
public String ISBN;
public double price; }

定义属性:

Book bok = new Book();
bok.title = "Java入门基础";
bok.author = "solo";
bok.press = "图灵出版社";
bok.ISBN = "yibai";
bok.price = 50.6;

类的嵌套书写

类的属性种类除了上面说的那几个,还可以有其他种类;

1、先自定义一个类信息

2、将类信息加入到一个类的内容中

3、定义类的属性

4、将类属性加到另一个类属性中

public class Cards //创建一个Cards 类
{
public String StudentCards;
public String StudentBlankCards;
}
public class Book
{
public String title;
public String author;
public String press;
public String ISBN;
public double price;
public Cards cs = new Cards();//将类加入到Book类中,定义Cards类的属性 }
Book bok = new Book();
bok.title = "Java入门基础";
bok.author = "solo";
bok.press = "图灵出版社";
bok.ISBN = "yibai";
bok.price = 50.6;
bok.cs.StudentCards = "123456789"; //注意这里的表达方式,使用了属性bok和cs定义的两个属性
bok.cs.StudentBlankCards = "568547998566587666"; // 表示访问bok的cs的StudentBlankCards属性

对象与引用

//对象与引用
Student s1 = new Student();
student s2 = s1;
s2.name = "solo";

先创建一个对象s1,然后再创建一个对象,将s2指向s1;第三步s1和s2指向同一个对象。

空对象与空指针

当一个引用指向null,其实是说它不指向任何对象

//空对象与空指针
Student s1 = null;
s1.name = "solo";//出错!! NullPointerException

属性的默认值

Java语言中,每一个类型都有默认值

1、整数类型(long int short byte):默认值为0

2、小数类型(double float):默认值为0.0

3、布尔类型(boolean):默认值为false

4、引用类型(String,student)默认值为null

5、数组类型:默认值为null

本质上,所有的类型默认值都是零的意思。

如果不能确认其默认值,那么可以在定义一个变量或属性的时候,显式的指定属性的初始值,例如;

//显式的指定属性的初始值
public class Student
{
public String id = "0000000";
public String name = "未知";
public boolean sex = true;
public String cellphone = " ";
}

如果属性是class类型,那么可以new一个对象,例如

public class Student
{
public String id = "0000000";
public StudentCards cards = new StudentCards();
}

Java入门基础(类)的更多相关文章

  1. Java入门基础知识点总结(详细篇)

    Java入门基础知识点总结(详细篇)~~~~~目录 1.1 图解 1.1.1 Java基础知识点 1.1.2 Java基础语法的相关内容 1.2 关键字 1.3 标识符 1.3.1 标识符概念 1.3 ...

  2. JAVA入门基础及流程控制

    JAVA入门基础及流程控制 数据类型 位 存储单位 eg:0001 0011 八位 字节 byte 处理数据单位 一字节等于八位 eg:1b=0011 0001 类变量: static int num ...

  3. 零基础怎么学Java?Java的运行机制是什么?Java入门基础!

    Java语言是当前流行的一种程序设计语言,因其安全性.平台无关性.性能优异等特点,受到广大编程爱好者的喜爱. 想学习Java语言的同学对于Java的运行机制是必须要了解的!! 计算机高级语言的类型主要 ...

  4. Java入门基础,必读!Java单行、多行和文档注释!

    在编写Java的过程中,我们需要对一些程序进行注释.除了方便自己阅读之外,我们还需要为他人更好地理解我们的程序.因此,我们需要对一些程序进行注释,这些注释可以是编程思想,也可以是程序的作用,可以说是J ...

  5. Java入门基础(变量、操作符与表达式)

    Java入门基础 1. 第一个程序 2.变量(命名.运算.整数/小数/字符串.布尔类型) 3.操作符与表达式(算术/逻辑/关系/赋值/自增/类型转换操作符) HelloWorld! public cl ...

  6. Java入门(一)——类、抽象类和接口

    Java是一门面向对象语言,可以看出"对象"在Java有着举足轻重的位置.那么,"对象"从何而来呢?那必须是丈母娘造出来的,下面我们就先来说说这个丈母娘--类. ...

  7. Java 入门基础

    第零章 开始学习Java 1.Java基础最重要 Java学习中,Java的基础.Java面向对象是最关键的,而一些像框架技术等都是建立在基础之上东西. 多多处理问题,积累处理问题的能力. Java框 ...

  8. JAVA概述-JAVA入门基础

    一.JAVA的历史 Java是1995年由Sun公司(现Oracle公司)推出的一门面向对象的高级编程语言.这门编程语言的Logo就像是一杯刚刚煮好的咖啡. Java最初期的开发是在1991年,最初的 ...

  9. Java入门基础(类的方法)

    方法 1.添加方法 方法表示一个类能做什么.在Java里,方法和属性属于对等的术语,在一个类中,不仅可以添加属性,还可以添加方法. 类 { 属性:描述“我有什么” 方法:描述“我能做什么” } 例子: ...

随机推荐

  1. Java后台创建Socket服务接收硬件终端发送的数据

    最近项目中有遇到后台接收硬件终端发送的数据并解析存储的需求,代码总结如下(有时间再来一一讲解,最近比较忙): @Override public void start() { ExecutorServi ...

  2. JDK1.8中的HashMap实现

    1.HashMap概述 在JDK1.8之前,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的节点都存储在一个链表里.但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通 ...

  3. Codeforces Round #519 by Botan Investments(前五题题解)

    开个新号打打codeforces(以前那号玩废了),结果就遇到了这么难一套.touristD题用了map,被卡掉了(其实是对cf的评测机过分自信),G题没过, 700多行代码,码力惊人.关键是这次to ...

  4. shell正则表达式和cut命令

    正则表达式 符号 描述 $ 匹配输入字符串的结尾位置 () 标记一个子表达式的开始和结束位置 * 匹配前面的子表达式零次或多次 + 匹配前面的子表达式一次或多次 . 匹配除换行符(\n)之外的任何单字 ...

  5. 小小知识点(二十七)20大5G关键技术

    5G网络技术主要分为三类:核心网.回传和前传网络.无线接入网. 核心网 核心网关键技术主要包括:网络功能虚拟化(NFV).软件定义网络(SDN).网络切片和多接入边缘计算(MEC). 1 网络功能虚拟 ...

  6. git 汇总

  7. 还在使用OpenGL ES做渲染,你Out了,赶紧来拥抱Vulkan吧~

    背景介绍 Vulkan是Khronos组织制定的"下一代"开放的图形显示API.是与DirectX12能够匹敌的GPU API标准. Vulkan是基于AMD的Mantle API ...

  8. solr学习(一)安装与部署

    经过测试,同步MongoDB数据到Solr的时候,Solr版本为8.4.0会出现连接不上的错误,8.3.0未经测试不知,博主测试好用的一版为8.2.0,但是官网已经下不到了,所以我会把下载链接放在文末 ...

  9. Oracle索引大全

    文档结构如下: 前言: Oracle 官方文档对索引的描述真是弱透了,对索引的说明就是一坨……,support也没有很好的资料,下面还是用的官方上的内容经过自己的整理加上网上的资料. 索引类型: 索引 ...

  10. C#中的委托是什么

    1.什么是委托?(方法作另一个方法的参数)delegate void MyDel(int value);    //声明委托类型和类一样,委托是用户自定义的类型,但是类是数据和方法的集合,而委托是持有 ...