当前位置:首页 » 文件传输 » 对象成员的访问数据格式
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

对象成员的访问数据格式

发布时间: 2022-08-12 23:36:26

㈠ java语言如何访问数据成员及成员方法

分两种情况:
1、数据成员或成员方法是静态的
通过类名.数据成员名或类名.成员方法名访问。
2、数据成员或成员方法是实例的
先创建对象,再通过对象.数据成员名或对象.成员方法名访问。
如:
class A
{
static int sa;
static void sf()
{}
int a;
void f()
{}
}
访问静态成员:
A.sa=1;
A.sf();
访问实例成员
A o=new A();
o.a=2;
o.f();

㈡ 什么是类,什么是对象,Java中类的声明格式是什么,简单举例说明。

2.Java中的类和对象【第一部分草案】 收藏
(本章的学习量相对比较大,我把整体分为三个部分讲解,第一个部分和第二个部分为Java关于类和对象以及OO的基础,第三个部分为在OO设计技巧中针对Java程序的一些性能提升的小技巧,因为尽量保证Java关于类和对象的基本概念以及关键知识点都能够涉及到,一是为了方便查询,二是按照常用的关键点来进行的整理,其中的关键点都是在开发过程中的一些相关内容涉及,所以本文特意提供了一个目录进行检索。类和对象属于面向对象的基本概念,在开发过程中,需要掌握了对象和类的基本思想过后才明白如何进行OO设计,Java本身是纯面向对象的语言,这篇文章的主要目的是针对Java里面一些关于类和对象的基本操作进行简单的讲解,若有笔误,请来Email提点,谢谢:[email protected]
本文目录:【蓝色部分为本章的目录】
1.基本概念
2.Java变量相关
1)Java变量分类
2)Java中变量的初始化
3)Java变量修饰符和访问域
4)Java类修饰符[不包含内部类]
3.Java涉及OO的关键知识点【主体】
1)继承的基本概念
2)抽象类、接口、final类:
3)重载和重写:
4)对象的拷贝[深拷贝和浅拷贝]:
5)关键字this、super
6)Java中的inlining[内联]
7)带继承的构造函数以及构造顺序
8)谈谈Object中的方法:equals、hashCode、toString
9)带继承的类型转换以及转换中关于成员变量和成员函数的调用
10)Java语言中的反射
11)按引用传递和值传递原理
12)Java中的包和导入
13)匿名类和内部类
4.Java编程OO设计技巧
1)对象创建以及周期
2)对象属性设置
3)垃圾回收
4)继承、接口、抽象类
5.总结

1.基本概念:
类和对象:OO里面什么称为类,类一般性我们定义为创建对象的一个蓝图,当我们根据某个类创建了一个对象的时候,我们就说该对象是这个类的一个实例(instance),类描述了某些对象的基本结构,是对对象的相关属性的一种定义,它定义了对象所具有的属性、方法、事件等各种基本点。
类设计的关键概念:封装是对象在工作的时候的一个关键概念,也是我们在进行OO设计的时候的一个需要掌握的点,封装简单讲就是将对象内部的一些细节实现隐藏起来不对外公布,仅仅对外公布某个对象能够提供的操作结果,从而实现信息隐藏的目的。在封装过程,对象内的数据我们一般称为成员变量(instance fields),对象内针对这些数据执行的操作我们可以叫做操作方法(成员函数)(methods),一个对象这些属性的集合所反映出来的就是该对象的状态。
在Java里面,所有的复合数据都是从Object类继承而来的,这一点可以通过使用Java反射去获取父类的名称来获得。
对象:在OO设计里面,对象有几个需要掌握的基本点:
对象的行为:对象的行为指代的是这个对象能够做什么,不能做什么,包括这个对象有哪些接口是对外提供了我们可以直接进行使用等相关概念。
对象的状态:对象的状态指代的是在程序运行过程,某个对象实例的一些属性发生了相关的变化过后产生的一个对象状态,在ORM设计中我们经常会遇到对象状态的操作。
对象的标识:对象的标识指代的是这个对象如何区别于其他对象,即是是同一个类产生的新实例,其本质上讲它们属于两个不同的对象,而不应该是同一个对象。
类与类的关系:
依赖(Dependence):依赖关系简单讲就是users-a的关系,两个类创建的对象实例本身没有任何关系,在编程过程反映出来的就是两个对象在相互之间的调用关系,比如某个对象在执行它自己的行为的时候调用了其他对象的方法这些相关操作都属于users-a的基本关系,或者说在某个Class里面使用了其他Class来定义成员变量。
组合(Aggregation):组合关系可以认为是has-a的关系,这种关系的两个类存在一个包含关系,很容易理解就是比如某个类包含了另外一个类,这种概念严格上讲不在操作,主要是成员变量,比如一个用户有个姓名属性成为NameInfo,然后这个NameInfo定义为一个包含了两个String的对象,一个是FirstName,另外一个是LastName,这种情况可以认为该对象本身和NameInfo之间的关系是has-a的关系。
继承(Inheritance):继承关系属于is-a的关系,这种关系意味着两个类存在父类(superclass)和子类(subclass)的概念,Java里面使用extends和implements两个关键字来体现两个类的集成关系。
(上边这些概念基本上在各种OO语言学习的开篇都会遇到,没什么特殊的,所以熟悉的人可以不用去了解)
Java中的Class:
预定义Class:在Java里面,什么称为预定义Class,学过Java的人都知道,JVM会在我们编写java程序的时候默认载入包java.lang,而java.lang里面已经存在了很多Class,这种Class就属于预定义的Class;不仅仅如此,以及Java API里面提供的Network相关类、IO相关类、XML相关类,这些可以不需要我们自定义,只需要import过后就可以直接使用的类就属于预定义的类。预定义类的各种使用方法可以参考JDK的API文档,里面针对目前存在的很多类都有详细的描述信息,有些类还提供了我们所需要的相关使用Demo可做参考。
一些代码的使用例子。
自定义Class:如果我们要使用自己的Class就需要在Java中自己定义Class,定义语法如下:
class UserInfo{
……
}
使用该语法我们就可以定义一个属于自己的Class,而在Class里面我们就可以根据自己的需求来设计相关成员变量和成员函数以及其他相关信息。

2.Java变量:
1)Java中的变量分为四种:类变量(又称为静态变量)、实例变量、局部变量、块变量
类变量——类变量只能在一个class域里面进行定义,同样只能在类里面使用,使用关键字为static关键字,这种变量可以直接通过Class.VAR的方式来调用,而且不需要对象实例存在就可以调用,它的执行原理在于当JVM的类加载器将类加载进来的时候,这个变量就已经存在的,而且可以使用了。定义方式和调用方式如下,下边的A就属于类变量:
class UserInfo{
static int A;
public static void main(String args[])
{
System.out.println(UserInfo.A);
}
}

㈢ C++新手求教!对象指针访问数据成员问题。

max_phy的参数类型写错了,声明的是student,但是你实现的时候写的是double。double类型不是类类型,因此就会报错误。
错误的:
void max_phy(double *p)
正确的:
void max_phy(student *p)

修改一下就可以编译通过了。

㈣ AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式

如果是静态成员,直接AA::a,对象为 x.a,指针访问为 x->a

㈤ 1.如何实现对类的对象成员的私有数据的访问

在类里写个protected的可读写属性,或者是读写函数提供对私写数据的访问。
类外面的就调用属性或者函数就行了。

㈥ 对象指针的对象指针的格式

指向数据成员的指针格式如下:
<类型说明符><类名>::*<指针名>
指向成员函数的指针格式如下:
<类型说明符>(<类名>::*<指针名>)(<参数表>)
例如,设有如下一个类A:
class A
{
public:
int fun (int b) { return a*c+b; }
A(int i) { a=i; }
int c;
private:
int a;
};
定义一个指向类A的数据成员c的指针pc,其格式如下:
int A:: *pc = &A::c;
再定义一个指向类A的成员函数fun的指针pfun,其格式如下:
int (A:: *pfun)(int) = &A::fun;
由于类不是运行时存在的对象。因此,在使用这类指针时,需要首先指定A类的一个对象,然后,通过对象来引用指针所指向的成员。例如,给pc指针所指向的数据成员c赋值8,可以表示如下:
A a;
a.*pc = 8;
其中,运算符.*是用来对指向类成员的指针来操作该类的对象的。
如果使用指向对象的指针来对指向类成员的指针进行操作时,使用运算符->*。例如:
A *p = &a; //a是类A的一个对象,p是指向对象a的指针。
p ->* pc = 8;
让我们再看看指向一般函数的指针的定义格式:
<类型说明符>*<指向函数指针名>(<参数表>)
关于给指向函数的指针赋值的格式如下:
<指向函数的指针名>=<函数名>
关于在程序中,使用指向函数的指针调用函数的格式如下:
(*<指向函数的指针名>)(<实参表>)

㈦ C语言中static是做什么用的

有两种用法:

1、static修饰局部变量,成为一个局部静态变量。

static修饰局部变量(静态局部变量)与普通局部变量相比,它的优势在于:

①静态局部变量作用域与连接属性与普通局部变量一样;

存储类:静态局部变量分配在data/bss段,普通局部变量在栈上;

③生命周期:因为存储类的不同,静态局部变量的生命周期得到延长了,直到程序结束。

2、static修饰全局变量与函数,成为静态全局变量与静态函数。

static修饰全局变量函数 与 普通全局变量普通函数相比,它的优势在于:

①存储类、生命周期、作用域都一样;

②差别在于static修饰全局变量函数连接属性是内连接,普通全局变量普通函数是外链接;

③就是说static修饰全局变量函数不能跨文件访问调用。

(7)对象成员的访问数据格式扩展阅读:

在类内数据成员的声明前加上static关键字,该数据成员就是类内的静态数据成员。其特点如下:

静态数据成员存储在全局数据区,静态数据成员在定义时分配存储空间,所以不能在类声明中定义

静态数据成员是类的成员,无论定义了多少个类的对象,静态数据成员的拷贝只有一个,且对该类的所有对象可见。也就是说任一对象都可以对静态数据成员进行操作。而对于非静态数据成员,每个对象都有自己的一份拷贝。

由于上面的原因,静态数据成员不属于任何对象,在没有类的实例时其作用域就可见,在没有任何对象时,就可以进行操作

和普通数据成员一样,静态数据成员也遵从public, protected, private访问规则

静态数据成员的初始化格式:<数据类型><类名>::<静态数据成员名>=<值>

类的静态数据成员有两种访问方式:<类对象名>.<静态数据成员名> 或 <类类型名>::<静态数据成员名>