对象的定义以及static修饰符的作用
2017-06-20 00:00
253 查看
自定义类时,需要根据自己的想法抽象类属性和方法,比如Dog中的属性(狗的名字,颜色,年龄等)、方法(会跑、会跳之类),定义好自己的类后,在主函数的调用时需要根据定义的类名来new一个实例对象,才能调用你所定义的Dog类中的属性以及方法。
如果定义的Dog类中属性和方法的定义是由static所修饰的,那么在主函数中可以通过定义的类名直接调用类中的属性,这种调用会改变自定义类中的属性,如果主函数在以后通过新建实例来调用Dog的属性或者方法时,就会发生改变。此种方法的好处时不用再去new一个新的实例,可以直接使用自定义类名直接调用,使属性表达的更为直观。
(就是如果自定义的属性或者方法中有用static修饰的,在主函数调用此属性或者方法的时候,如果进行更改,其实就是在更改自定义方法中的静态属性,那么以后用new出来的实例对象就会受到影响)
static修饰属性方法为静态属性方法,从属于类。建议用类名直接访问调用,因为在以类名作为实例的程序中,首字母都是大写,所以只要一看到首字母大写,就能知道它是类,而通过类名称与“.”运算符来存取的,就会知道它时static成员,这样就会将其属性体现的更直观(System.out、System.in,out和in都是System的静态成员)。(非静态的属性方法则是属于具体的对象。)
直接使用类名访问自定义类的方法和属性,必须时访问的是有static修饰的静态变量和方法,
如果访问有多个属性和方法,必须全部是经由static修饰符修饰的静态变量和方法
不能掺杂任何非静态的变量和方法,否则就会报错。(静态的方法不可以调用非静态的变量!)
对象和类的关系:先有类再有对象,只有先有了类,才能根据类来创建一个新的实例对象,类就好比是建筑图纸,而对象就是根据图纸所创造出来的建筑。
2017年6月20日
如果定义的Dog类中属性和方法的定义是由static所修饰的,那么在主函数中可以通过定义的类名直接调用类中的属性,这种调用会改变自定义类中的属性,如果主函数在以后通过新建实例来调用Dog的属性或者方法时,就会发生改变。此种方法的好处时不用再去new一个新的实例,可以直接使用自定义类名直接调用,使属性表达的更为直观。
(就是如果自定义的属性或者方法中有用static修饰的,在主函数调用此属性或者方法的时候,如果进行更改,其实就是在更改自定义方法中的静态属性,那么以后用new出来的实例对象就会受到影响)
static修饰属性方法为静态属性方法,从属于类。建议用类名直接访问调用,因为在以类名作为实例的程序中,首字母都是大写,所以只要一看到首字母大写,就能知道它是类,而通过类名称与“.”运算符来存取的,就会知道它时static成员,这样就会将其属性体现的更直观(System.out、System.in,out和in都是System的静态成员)。(非静态的属性方法则是属于具体的对象。)
直接使用类名访问自定义类的方法和属性,必须时访问的是有static修饰的静态变量和方法,
如果访问有多个属性和方法,必须全部是经由static修饰符修饰的静态变量和方法
不能掺杂任何非静态的变量和方法,否则就会报错。(静态的方法不可以调用非静态的变量!)
对象和类的关系:先有类再有对象,只有先有了类,才能根据类来创建一个新的实例对象,类就好比是建筑图纸,而对象就是根据图纸所创造出来的建筑。
2017年6月20日
相关文章推荐
- Golang 父子对象与JSON互相转换以及struct结构体内部的反引号该如何定义字段编码生成json字符串的写法
- Servlet概述以及ServletConfig 和ServletContext对象的作用
- Java面向对象-枚举的定义和特点以及底层分析
- java中equals和==之间的区别?clone方法的作用,及其为什么要使用clone方法?如何使用clone复制对象?以及深克隆浅克隆
- json字符串和对象转换以及json2.js和jquery.json-2.3.js中对于json的方法定义理解
- Objective-C 2.0 with Cocoa Foundation---对象的初始化以及实例变量的作用域(3)
- 事务的定义,事务的作用以及Spring事务原理
- C++ 标识符作用域以及对象生存期
- UUID的定义以及作用
- Jsp有哪些内置对象以及作用
- jQuery.buildFragment源码分析以及在构造jQuery对象的作用
- jsp中9大内置对象以及4个作用域
- c++ static的作用,以及static对象在类和函数中区别
- 根据类Student的定义,创建五个该类的对象,输出每个学生的信息, 计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。
- 解析Qt元对象系统(五) Q_INVOKABLE与invokeMethod(automatic connection从Qt4.8开始的解释已经与之前不同,发送对象驻足于哪一个线程并不重要,起到决定作用的是接收者对象所驻足的线程以及发射信号(该信号与接受者连接)的线程是不是在同一个线程)good
- 关于namespace或global作用域内变量和常量以及static修饰符
- Java面向对象-枚举的定义和特点以及底层分析
- javascript中对象的定义、使用以及对象和原型链操作小结
- 【OC语言】第二篇·对象的作用、字符串类型以及多文件开发
- c++ static的作用,以及static对象在类和函数中区别