Java类的属性

在前一章的示例中,我们称呼类中的x为变量,实际上它是类的一个属性,或者可以说类属性就是类中的变量:

示例

创建MyClass类,它有两个属性:xy:

public class MyClass {
int x = 5;
int y = 3;
}

类属性的另一个术语是字段。

访问属性

要访问属性,首先要创建类的对象,然后使用点语法(.)访问。

下面的示例,创建MyClass类的一个对象myObj,打印其属性x

示例

创建一个名为myObj的对象,并打印其属性x的值:

public class MyClass {
int x = 5; public static void main(String[] args) {
MyClass myObj = new MyClass();
System.out.println(myObj.x);
}
}

修改属性

可以修改属性值:

示例

设置x的值为40:

public class MyClass {
int x; public static void main(String[] args) {
MyClass myObj = new MyClass();
myObj.x = 40;
System.out.println(myObj.x);
}
}

或覆盖现有值:

示例

x的值更改为25:

public class MyClass {
int x = 10; public static void main(String[] args) {
MyClass myObj = new MyClass();
myObj.x = 25; // x 现在是 25
System.out.println(myObj.x);
}
}

如果不希望覆盖现有值,可将属性声明为final:

示例

x的值更改为25:

public class MyClass {
final int x = 10; public static void main(String[] args) {
MyClass myObj = new MyClass();
myObj.x = 25; // 将生成一个错误: 无法为 final 变量赋值
System.out.println(myObj.x);
}
}

当希望变量值不变时,如PI(3.14159…),可使用final关键字。

final关键字称为“修饰符”,后续章节将详细介绍。

多个对象

如果创建一个类的多个对象,你可以改变一个对象的属性值,不会影响另一个对象的属性值:

示例

myObj2中的x值更改为25,myObj1中的x不变:

public class MyClass {
int x = 5; public static void main(String[] args) {
MyClass myObj1 = new MyClass(); // 对象1
MyClass myObj2 = new MyClass(); // 对象2
myObj2.x = 25;
System.out.println(myObj1.x); // 输出 5
System.out.println(myObj2.x); // 输出 25
}
}

多个属性

类中可以声明任意多的属性:

示例

public class Person {
String fname = "Kevin";
String lname = "Wu";
int age = 35; public static void main(String[] args) {
Person myObj = new Person();
System.out.println("Name: " + myObj.fname + " " + myObj.lname);
System.out.println("Age: " + myObj.age);
}
}

Java 类的属性的更多相关文章

  1. Java类、属性、方法、构造方法、块、内部类的基本概念

    类 概念:类相当于一个模板,里面定义了多个对象共同的属性和方法 基本结构:属性.方法.构造方法.块.内部类 声明形式:[访问权限修饰符][修饰符] class 类名 { 类体 } 属性 概念:存放对象 ...

  2. Java 类、属性、方法修饰符 public、private、protected、default

    Java 中修饰类修饰符:public .default (默认) Java 中修饰类中属性.方法修饰符:public.private.protected.default (默认) 通过 IDEA 创 ...

  3. java类的属性

    类的嵌套!!!!!!!!!! 首先我们创建一个学生卡卡号的一个类,这个类有两个属性,校园卡号和银行卡号 package cuteSnow; public class StudentCard { pub ...

  4. java类中属性优先执行顺序

    1.父类静态代码块 (  java虚拟机加载类时,就会执行该块代码,故只执行一次) 2 .子类静态代码块 (  java虚拟机加载类时,就会执行该块代码,故只执行一次) 3. 父类属性对象初始化 4. ...

  5. java类中属性的加载顺序,以及内存分配情况介绍

    看下面例子及说明: /** 假如有外部类调用了该类,代码为:new StaticTest(); 那么下面是类属性的加载顺序 */ public class StaticTest{ public int ...

  6. 动态赋予java类的属性set与get值

    public class Contact { private String name; private String tel; private attrControl attrC=new attrCo ...

  7. java类定义、变量类型、构造函数

    1.java类class的定义 所有java程序都以类class为组织单元,java类由属性和方法组成,下面看例子: public  class  Phone{ //属性 String company ...

  8. 数据表-java类的映射

    1.一个数据表对应一个java类 2.数据表的字段对应java类的属性 3.一对多的数据表关系 一方用一个java对象表示 多方用一个java对象数组表示 4.多对多的数据表关系:采用中间表,将多对多 ...

  9. Java自学-面向对象 属性

    Java类的属性 一个英雄有姓名,血量,护甲等等状态 这些状态就叫做一个类的属性 步骤 1 : 属性的类型 属性的类型可以是基本类型,比如int整数,float 浮点数 也可以是类类型,比如Strin ...

随机推荐

  1. 第二天python

    1.pycharm的安装: 1.先去官网下载软件:https://www.jetbrains.com/pycharm/download/#section=windows然后进行下一步,下一步操作既可以 ...

  2. 搭建python虚拟环境virtualenv

    virtualenv 是一个创建隔离Python环境的工具,创建虚拟环境运行,达到节省本地运行空间的目的. 安装vitualenv # pip install virtualenv 创建一个虚拟环境( ...

  3. Codeforces Global Round 4E(字符串,思维)

    #include<bits/stdc++.h>using namespace std;string s,a,b;int main(){ cin>>s; int n=s.size ...

  4. 捣鼓FileZilla

    今天突然对ftp服务器感兴趣,于是随意打了一个ftp词条,发现了FZ官网,好奇点进去下载了之后,捣鼓了一会.于是,也写一个小教程记录一下吧,害怕自己以后忘记怎么弄的了. 首先需要用到两个,一个是FZ ...

  5. 《精通Objective-C》书籍目录

    1.入门 2.使用类 3.对象和消息传递 4.内存管理 5.预处理器 6.专家级技巧:使用ARC 7.运行时系统 8.运行时系统的结构 9.专家级技巧:使用运行时系统API 10.Foundation ...

  6. C语言结构体指针(指向结构体的指针)详解

    C语言结构体指针详解 一.前言 一个指向结构体的变量的指针表示的是这个结构体变量占内存中的起始位置,同样它也可以指向结构体变量数组. *a).b 等价于 a->b. "."一 ...

  7. 十五 链表与递归,leetCode203题

    两种方式: package com.lt.datastructure.LinkedList; /** * leetCode 203题 * /** * Definition for singly-lin ...

  8. 2_02_MSSQL课程_where查询和like模糊查询

    1.where 条件过滤 常见的表达式过滤:比如: select * from 表 where Id>10; 多条件过滤: and or not    (优先级:not > and > ...

  9. CH10 泛型算法

    概述 大多数算法都定义在algorithm头文件中. Note:算法永远不会执行容器操作 泛型算法本身不会执行容器的操作,而是通过迭代器来访问.修改等操作 10.1 题目要求读取数据存入vector, ...

  10. 096、Java中String类之手工入对象池操作

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...