Java中的字段和属性

  Java中的属性,通常可以理解为get和set方法。而字段,通常叫做“类成员”。
  属性只局限于类中方法的声明,并不与类中其他成员相关。例如:void setA(String s){}String getA(){}  当一个类中拥有这样一对方法时,我们可以说,这个类中拥有一个可读写的a属性(注意是小写a)。同时包含get访问器和set访问器的属性称为读写属性(read-write property)。只具有get访问器的属性称为只读属性(read-only property)。只具有set访问器的属性称为只写属性(write-only property)。   

  类成员(字段),通常是在类中定义的类成员变量,例如:public class A{  private String s = "123";}我们可以说A类中有一个成员变量叫做s。
 

1. 字段:

class Card

{

   private string Name;

}

2. 属性:

属性中包含两个模块:set和get,set模块负责属性的写入工作,get模块负责属性的读取工作。在两个模块中都可以做一些其他操作,如在set中验证赋的值是否符合要求并决定是否进行赋值。

class Card

{

    private string name;

    public string Name

    {

        get { return this.name;}

        set { this.name=value;}

     }

}

时间: 2025-01-02 13:41:39

Java中的字段和属性的相关文章

C#.NET中的字段与属性_1

一个类中需要有描述这个类信息的数据,而存储这些数据的变量就成为字段. 字段默认的访问级别为private(只有本类可以直接访问),我们将其访问级别改为public,在其他类中就可以访问了. 字段和属性表示对象包含的信息,字段类似于变量,因为可以直接读取或设置他们. 属性是对字段的封装.属性可以对字段的访问进行控制,可以进行非法设置值的判断.属性并不存储数据,字段存储数据. 封装后,有一些字段我只能赋值,不能读取,有些只能读取,不能赋值,而且可以对传过来的值进行选择. 建议所有的字段不要写成pub

C#.NET中的字段与属性_2 为什么要用属性

属性的好处,就是对存入公共变量的值可以进行处理,如果觉得该值不合法,可以就地变换或者直接提出警告,只不过多花了点点时间,所以有一点点慢.但对于该类所生成的对象的使用安全,还是有相当多的好处的,至少运行时,因公共变量值的错误而产生的问题会大大减少. 用公共变量速度快,就是因为少了中间处理的环节,但是也因此更直接地对类的内容进行了操作和控制,比起属性的使用来说,相对的安全性就变低了. 应该说属性与公共变量各有各的用途,否则公共量变就会被取消掉. 公共变量的好处,就是快.但由于这种用法必须开放变量访问

在netcore中实现字段和属性注入

简单来说,使用Ioc模式需要两个步骤,第一是把服务注册到容器中,第二是从容器中获取服务,我们一个一个讨论并演化.这里不会考虑使用如Autofac等第三方的容器来代替默认容器,只是提供一些简单实用的小方法用于简化应用层的开发. 将服务注入到容器 asp.netcore官方给出的在容器中注册服务方法是,要在Startup类的ConfigureServices方法中添加服务,如下所示: public void ConfigureServices(IServiceCollection services)

C#反射类中所有字段,属性,方法(转)

可能大家都知道在C#中如何创建一个类,但对于类的结构可能大家不一定了解的很清楚,对于我来说,我之前也搞的不是很明白,今天,当我没事研究反射的时候突然发现了着一点. 我们来看类的结构到底是什么 public class People //类名 { private static string name; //字段 private string sex;//字段 public string Sex //属性 { get { return sex; } set { sex = value; } } pu

Python类中的字段,方法,属性区别及StaticMethod, Property

类包含下列 静态属性 动态属性 静态方法 动态方法 class Province: #静态字段--属于类,调用方法类.字段名 memo = "中国23个省之一" #动态字段--属于对象,调用方式实例化对象.字段名 def __init__(self, name, capital, leader): self.Name = name self.Capital = capital self.Leader = leader #动态方法--属于对象 def sports_game(self):

java中遍历实体类属性和类型

public static void testReflect(Object model) throws NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{ Field[] field = model.getClass().getDeclaredFields(); //获取实体类的所有属性,返回Field数组 for(int j=0 ; j<field

java 中根据类的属性排序

1 package edu.del; 2 3 import java.util.ArrayList; 4 import java.util.Collections; 5 import java.util.List; 6 import java.util.Scanner; 7 8 class Student implements Comparable<Student>{ 9 String name; 10 int score; 11 12 public Student(String name,

java中list按照某个属性排序方法

public List sort(List list,final String sortName,final String direction){ Collections.sort(list, new Comparator(){ public int compare(Object a, Object b){ try { //根据属性名获取到field Field field = a.getClass().getDeclaredField(sortName); //field设置为public访问

Java中static字段赋值顺序的问题

看两个例子 public class Client { public static int i = 2; static { i = 100; } public static void main(String[] args) { System.out.println("i=" + i); } } i=100 public class Client { static { i = 100; } public static int i = 2; public static void main(