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. .NET精彩博文

    vs2019安装和使用教程(详细) 为什么选择.NETCore? C#中Socket的简单使用

  2. 【剑指Offer面试编程题】题目1355:扑克牌顺子--九度OJ

    题目描述: LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他 ...

  3. RESTFul Client入门实例

    client.html文件内容为: <!DOCTYPE html> <html> <head> <title>RESTFul Client test p ...

  4. Graphviz 使用笔记

    官网:Graphviz 最近一直在找如何用写代码的方式就可以实现数据结构可视化.流程图等等,于是发现了她,上手也比较简单,但正当我仅觉得不错的时候,我发现竟然还可以用python来写,瞬间好感度爆满啊 ...

  5. 61二叉搜索树的第k个结点

    题目描述 给定一颗二叉搜索树,请找出其中的第k大的结点.例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4. 思路:二叉搜索树的中序遍历是递增的序列,使用 ...

  6. requests---requests封装请求类型

    我们在做自动化的时候,肯定是代码越简洁越好,代码重复量越少越好,这里呢,我们可以通过把requests的请求类型都封装起来,这样编写用例的时候可以直接进行请求 requests方法封装 我们通常用的最 ...

  7. antd组件实现上传证书

  8. 第2节 storm实时看板案例:10、redis的安装使用回顾

    2.redis的持久化机制: redis支持两种持久化机制:RDB  AOF RDB:多少秒之内,有多少个key放生变化,将redis当中的数据dump到磁盘保存,保存成一个文件,下次再恢复的时候,首 ...

  9. android sqlite 图片保存和读出 用流 转字节码

    原文:http://blog.sina.com.cn/s/blog_8cfbb99201012oqn.html package com.yiyiweixiao; import android.cont ...

  10. c# Thread、ThreadPool、Task的区别

    Thread与ThreadPoll 前台线程:主程序必须等待线程执行完毕后才可退出程序.Thread默认为前台线程,也可以设置为后台线程 后台线程:主程序执行完毕后就退出,不管线程是否执行完毕.Thr ...