成员变量

Java面向对象大致梳理

别说谁变了你拦得住时间么 提交于 2020-02-20 13:01:03
面向对象思想、 面向对象思想概述: Java设计语言面向对象: Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下, 使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面 向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算 机事件的设计思想。 它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去 操作实现。 类和对象: 类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该 类事物 属性:就是该事物的状态信息。 行为:就是该事物能够做什么。 对象:是一类事物的具体体现。对象是类的一个实例(对象并不是找个女朋友),必然具备该类事物的属性 和行为。 类与对象的关系 : 类是对一类事物的描述,是抽象的。 对象是一类事物的实例,是具体的。 类是对象的模板,对象是类的实体。 面向对象之封装: 概述: 面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。 封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的 方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。

黑马程序员—16-oc核心语法

巧了我就是萌 提交于 2020-02-19 16:51:45
------- android培训 、java培训 、期待与您交流! ---------- 一、 变量作用域 l 变量的作用域主要分为四种: u (1)@public (公开的)在有对象的前提下,任何地方都可以直接访问。 u (2)@protected (受保护的)只能在当前类和子类的对象方法中访问 u (3)@private (私有的)只能在当前类的对象方法中才能直接访问 u (4)@package (框架级别的)作用域介于私有和公开之间,只要处于同一个框架中就可以直接通过变量名访问 l 使用注意和补充 u (1)在类的实现即.m文件中也可以声明成员变量,但是因为在其他文件中通常都只是包含头文件而不会包含实现文件,所以在这里声明的成员变量是@private的。在.m中定义的成员变量不能喝它的头文件.h中的成员变量同名,在这期间使用@public等关键字也是徒劳的。 u (2)在@interface @end之间声明的成员变量如果不做特别的说明,那么其默认是protected的。 u (3)一个类继承了另一个类,那么就拥有了父类的所有成员变量和方法,注意所有的成员变量它都拥有,只是有的它不能直接访问。 二、@property@synthesize l 让编译好器自动编写一个与数据成员同名的方法声明来省去读写方法的声明。 1)声明property的语法为:@property (参数1

Java学习—Day03

我们两清 提交于 2020-02-18 02:12:45
自学Java-Day03 自学java第三天,今天学习static关键字和成员内部类 static关键字用于修饰类的成员,如成员变量、成员方法以及代码块。 注:static 不能 修饰局部变量 一、静态变量 定义:被static关键字修饰的成员变量。 静态变量能够被所有实例共享。 class Student { static String schoolName ; } public class Demo01 { public static void main ( String [ ] args ) { Student stu1 = new Student ( ) ; Student stu2 = new Student ( ) ; Student . schoolName = "XX中学" ; System . out . println ( "我的学校是" + stu1 . schoolName ) ; System . out . println ( "我的学校是" + stu2 . schoolName ) ; } } 说明:schoolName是静态变量,可直接使用Student.schoolName调用,也可以通过Student的实例对象调用也就是Student stu1=new Student(); 二、静态方法 使用静态方法可以实现在不创建对象的情况下调用某个方法。

C++中类成员变量的初始化问题

ⅰ亾dé卋堺 提交于 2020-02-17 16:37:38
C++11之后允许对非静态成员变量进行初始化(in-class initialization),不过对于 非fundamental(非基本数据) 类型需要采用的是initializer_list来实现的 所以如下代码是错误的: class A{ public: int x=1; string s="qweqetfqw"; vector<int>p(1,0);//这句错了,vector不是基本数据类型,必须用大括号初始化 }; 改成下面这样就正确了: class A{ public: int x=1; string s="qweqetfqw"; vector<int> p{0};//用大括号直接初始化 }; 或者: class A{ public: int x=1; string s="qweqetfqw"; vector<int> p={0};//用复制拷贝函数初始化 }; 来源: https://www.cnblogs.com/FdWzy/p/12322161.html

Scala进阶_类和对象

怎甘沉沦 提交于 2020-02-16 14:22:42
类和对象 scala是支持面向对象的,也有类和对象的概念。我们依然可以基于scala语言来开发面向对象的应用程序。 创建类和对象 用法 使用 class 来定义一个类 使用 new 来创建对象 示例 创建一个Person类,并创建它的对象 步骤 创建一个scala项目,并创建一个Object 添加main方法 创建类和对象 实现 在IDEA中创建项目,并创建一个Object(main方法必须放在Object中) 添加main方法 创建一个Person类 在main方法中创建Person类对象 参考代码 object _01ClassDemo { // 创建类 class Person{} def main(args: Array[String]): Unit = { // 创建对象 val p = new Person() println(p) } } 简写方式 用法 如果类是空的,没有任何成员,可以省略 {} 如果构造器的参数为空,可以省略 () 示例 使用简写方法重新创建Person类和对象 参考代码 object _02ClassDemo { // 创建类,省略花括号 class Person def main(args: Array[String]): Unit = { // 创建对象,省略括号 val person = new Person } } # 定义和访问成员变量

c++中的 static 关键字

浪尽此生 提交于 2020-02-15 23:49:35
注:若没有特指是 静态成员时,默认都是普通成员; 1 类中的普通成员   类中的成员变量 和 成员函数 是分开存储的。其中,     1)每个对象都有 独立的成员变量 ;成员变量可以存储在 栈空间、堆空间、全局数据区;     2)所有对象 共享类的成员函数 ;成员函数 只能存储在 代码段; 2 类中的静态成员( static )   类中的静态成员     1、用 static 关键字 修饰;     2、可以用 类名::成员名 访问 静态成员;     3、静态成员 属于 整个类;     4、静态成员 是所属类的成员,其它类不能访问;     5、静态成员的内存分配 是 唯一的;   1) 静态成员变量     特征:1、静态成员变量 属于 整个类所有 ;        2、静态成员变量的生命周期不依赖任何对象;(静态成员变量的生命周期在程序的运行期)        3、所有对象 共享 类的静态成员变量;        4、可以通过 类名 直接访问 公有的 静态成员变量;        5、可以通过 对象名 访问公有的静态成员变量;        6、静态成员变量 需要在 类外单独分配空间 ;(类内声明、类外定义并初始化)        7、静态成员变量 在程序内部位于 全局数据区,不计入类的内存计算。      原因/ 好处

Java面向对象[方法]

可紊 提交于 2020-02-15 06:14:47
方法是类和对象的行为特征的抽象,Java中的方法与传统的函数非常相似又有着显著的不同,在结构化语言中函数是最小单位,整个软件由一个一个函数组成;在面向对象语言中,类是最小单位,整个系统由一个一个类组成,在java中方法不能独立存在,必须属于类或者对象。 方法必须属于类或者对象 如果要定义方法,则只能在类体内定义,不能独立定义方法,如果类中的方法由static修饰,那么这个方法属于这个类,否则该方法属于这个类的实例 Java语言是静态的,一个类定义完成后,只要不再重新编译这个类文件,该类和类的对象所拥有的方法是固定的,永远都不会改变 方法不能独立定义,也不能独立执行,它的调用方式必须是【类.方法】【对象.方法】 同一个类中的一个方法调用另一个方法时,如果被调用的是普通方法,则默认使用this作为调用者,如果被调用的方法是静态方法,则默认使用类作为调用者,表面上看是独立执行,但实际上只是隐藏了主调 需要注意的是static修饰的方法既可以使用类作为调用者,也可以使用对象作为调用者来调用,但static修饰的方法属于类,虽然使用类的对象调用static修饰的方法能够得到相同的执行结果,但那是因为底层依然是使用这些实例所属的类作为调用者,执行虽然不会报异常,但并不支持这么写程序 Java方法的参数传递机制 如果声明方法的时候指定了形参,那么调用方法时必须给这些形参指定参数值

成员变量和局部变量

流过昼夜 提交于 2020-02-15 01:53:00
就近原则 变量的分类 成员变量:类变量、实例变量 局部变量 非静态代码块的执行 :每次创建实例对象都会执行 方法的调用规则:调用一次执行一次 局部变量与成员变量的区别: 声明的位置 局部变量:方法体{} 中,形参,代码块中 成员变量: 类中 方法外 类变量:有static 修饰 实例变量: 没有static修饰 修饰符 局部变量: final 成员变量:public、protected、private、final、static、volatile、transient 来源: CSDN 作者: 大大大凯旋 链接: https://blog.csdn.net/qq_43037886/article/details/104317575

13.结构体

こ雲淡風輕ζ 提交于 2020-02-15 00:56:35
1.结构体 a.struct是关键字; b.struct Student合起来才是结构体“类型”; c.结构体内部定义的变量不能直接赋值; d.结构体只是一个类型,没有定义变量前,是没有分配空间,就不能赋值。 2.使用: (1).定义结构体变量; (2).类型名 变量名: struct Student stu; //struct关键字 //结构体变量初始化,和数组一样,要使用大括号 //在定义时才初始化 struct Student stu2 = {18,"hello",59}; (3).如果是普通变量,使用“.”运算符; (4).结构体指针变量使用:-> struct Student *p; p = &tmp; //给结构体变量一个空间 p -> age = 18;p->name = (char *)malloc((strlen("mike")+1); //给成员分配空间,如果name是结构体成员是数组,和数组操作类似 strcopy(p->name,"mike"); p->score = 59; //指针要有合法指向,才能操作结构体成员 //任何结构体变量都可以用“.”或“->” (&temp)->age = 18; (*p).age = 18; //合法 3.结构体变量定义: 4.迭名结构体 5.结构体数组 6.结构体嵌套 struct Info { int age;

C语言结构体和共用体_07

陌路散爱 提交于 2020-02-14 17:45:21
概述 定义结构体类型变量的方法 结构体变量的引用 结构体变量的初始化 结构体数组 指向结构体类型数据的指针 用指针处理链表 共用体 枚举类型 用 typedef定义类型 概述 定义一个结构体的一般形式: struct 结构名 { 成员列表 }; 一个结构体有一个结构名,但不是必须的。成员列表有若干个成员组成,每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为: 类型说明符 成员名; 例如: // 学号、姓名、性别、年龄、地址等属性 struct Student { int num; char name[20]; char sex; int age; char addr[30]; }; 定义结构体类型变量的方法 在定义了结构体变量后,系统会位置分配内存单元。 可以采用三种方法定义结构体类型变量: 1)先声明结构体类型再定义变量名; struct Student person1; struct Student person2; 则,person1、person2 具有struct Student类型的结构。 2)在声明类型的同时定义变量 struct Student { int num; char name[20]; char sex; int age; char addr[30]; } student1, student2; 3)直接定义结构体类型变量