黑马自学9.29学习

抽象类

抽象方法用abstract修饰

抽象方法不能有方法体

抽象方法不能实例化,因为有抽象成员,而抽象成员不能有方法体的

子类必须重写父类的抽象方法

在子类中无法通过base关键字调用父类的抽象方法

抽象方法是光说不做的,只是定义了具有这样的行为,但是具体的实现交给了子类

抽象类中可以拥有非抽象成员,为了继承给子类

抽象类中可以拥有虚方法

子类必须重写父类的方法,父类没有必要实例化,就用抽象类

抽象类是被继承的,是为了多态

抽象成员不能是私有的

接口 是一个特殊的抽象类

使用interface来定义1个接口

接口表示具有某种能力

接口中可以定义的成员

接口不能实列化

接口中的成员默认就是抽象的

接口中只能定义属性,方法,索引器,事件

抽象成员不能有访问修饰符,默认就是public

实现接口的类,必须要实现接口中的所有的成员

类在实现接口的成员的时候不需要override关键字

实现成员的时候必须要保证签名一致

接口就是1个纯粹的为了规范实现类的

抽象类:可以找到父类,并且希望通过父类继承给子类一些成员  族

接口: 多个类具有相同的方法,但是找不到父类,就可以将方法定义在接口中,让这些类去实现

1个类只能继承1个父类,但是可以实现多个接口,父类要写在第一个位置,一定程度上解决了类的单根性问题,

接口本身可以继承接口,支持多继承

接口中的成员可以实现为抽象方法或者是虚方法,让实现类的子类去实现

要避免定义多功能接口,以免造成接口污染

装箱:将值类型转换为引用类型

拆箱:将引用类型转换为值类型

字符串 特殊引用类型

字符串可以看做是1个字符数组

Length 表示字符串的字符个数

字符串对象一旦创建这个对象就不能被修改

在创建1个字符串对象的时候,会先去字符串拘留池中寻找是否有相同字符串内容的对象

如果有就直接让变量指向这个对象,如果没有在创建新的对象

字符串常用方法:

Length属性代表字符的个数

Empty代表1个空字符串"" 强调不是指的null

Compare比较2个字符串的大小

Concat连接字符串并组成1个新的字符串

Contains() 判断指定的字符串里面是否包含指定的字符串

EndsWith()判断指定的字符串是否以指定的字符串结尾

StartsWith()判断指定的字符串是否以指定的字符串开始

Equals();判断指定的字符串的内容是不是与指定的字符串相同

Format()格式化字符串

IndexOf()查找指定的字符或者字符串在字符串中的索引,如果没有返回-1

LastIndexOf() 从字符串的结尾往前面查,第一次字符串出现的索引

IsNullOrEmpty()判断指定的字符串是不是null值或者string.Enpty

Remove 如果只传一个int类型,会保留前面的,删除后面的

Replace 替换字符串

Split 以指定的字符分割字符串 返回数组

Substring 切割字符串

ToCharArray() 将字符串转换为字符输组

ToLower() 将字符串转换为小写

ToUpper()将字符串转换为大写

Trim() 去掉字符串的前后的空格

当我们需要大量的字符串拼接可以使用StringBulider类

时间: 2024-08-06 03:25:27

黑马自学9.29学习的相关文章

黑马自学10.10学习

数据库 数据类型 varchar 表示可变的 分离数据库:是将当前数据库文件和数据库引擎关系断开,没有任何关系了,这样我们就可以随意的拷贝,剪切 在数据库文件上右键-->任务-->分离-->勾选”删除链接”-->确定 脱机:告诉数据库引擎,暂停操作当前数据库,也可以随意拷贝,剪切 附加:把已经分离的数据库文件,重新让数据库引擎管理 主键:标识一张表里面数据行 主键分为逻辑主键和业务主键 业务主键就是具有真实意义的,比如身份证,银行卡,缺点:一旦变化,难以维护 逻辑主键:没有任何实际

黑马自学9.28学习

里氏转换原则:LSP子类可以替换父类的位置,并且程序的功能不受影响 父类有的功能子类都有,所以不影响程序的功能 父类变量指向了一个子类对象 当一个父类变量指向一个子类对象的时候,只能通过这个父类变量调用父类的成员,子类独有的成员无法调用 子类变量不能指向1个父类对象 必须要有继承关系,才可以使用强制转换 如果一个父类变量指向的就是一个父类对象,将这个父类对象转换为子类对象的会报异常 如果一个父类变量指向一个子类对象,那么可以将这个父类变量转换为子类对象 is 判断变量是否是指定的类型 如果没有继

黑马自学9.24学习

交错数组  行固定,但是每一行的列不固定 二维数组  行固定.列固定 构造方法 访问修饰符一般情况下是public,没有返回值,方法名与类名一样 构造函数是创建对象的时候CLR自动调用 程序员无法手动调用 构造函数可以有参数 如果我们希望在创建这个类的对象的同时需要执行一些代码,我们就可以把这些代码写到构造函数中 This关键字,代表当前对象,当前运行在内存里的那个对象 被partial关键字修饰的类.叫做部分类,或者伙伴类 C#编译器在编译的时候会将伙伴类编译成一个类,所以在另一个伙伴类中定义

黑马程序员_学习IOS之字典常用的方法

字典是无序的 数组是有序的.字典分为:可变字典和不可变字典  不可变字典对象 NSDictionary * dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",@"four",@"4", nil]; //value = ke

黑马程序员——C学习总结之数组排序算法实现

发表试试 黑马程序员--C学习总结之数组排序算法实现,布布扣,bubuko.com

黑马程序员_OC学习笔记之Foundation框架集合类

OC--集合类 1.OC集合类包括NSArray,NSSet,NSDictionary都是以面向对象的方式操作数组,而且OC数组不像C语言中的数组只能存放同一种数据类型,它可以存放任意类型的对象,但是不能存放非OC对象类型如基本数据类型int,struct,enum等 2.OC数组是以对象的方式存在,因此在创建的时候需要为创建的对象前面加* 3.NSArray数组一旦创建就决定了是不是可变,而且永远是可变或不可变 4.NSArray数组和子类NSMutableArray的基本操作: 1>使用NS

黑马程序员_OC学习笔记之description方法和sel

OC--description方法 1.Description方法包括类方法和对象方法.(NSObject类所包含) -description(对象方法) 2.使用NSLog和@%输出某个对象时,会调用对象的description方法,并拿到返回值进行输出. +description(类方法) 3.使用NSLog和@%输出某个对象时,会调用类对象的description方法,并拿到返回值进行输出,把整个对象一次性打印出来,打印对象使用%@. 4.使用@%打印对象如(“@%”,P)默认打印输出为<

黑马程序员_OC学习笔记之@property和@synthesize

[objc] view plaincopyprint? <span style="font-size:24px;">#import <Foundation/Foundation.h> @interface Person : NSObject { int _age; int age; int _height; int height; int _weight; int weight; int _money; int money; } @property int ag

2015.7.29学习内容

2015.7.29学习内容 一.Switch选择结构 1.回顾 01.在Java中如何产生一个随机数 Math.random()    随机数范围:0到1,能取到0,取不到1 02.equals(): 在Java中,如果比较两个字符串用==的话,会出现错误,所以以后我们只要是对字符串类型进行对比,统一使用equals方法 2.Switch选择结构 Switch(char/int){ case 1: //语句 break; case 2: //语句2 break; default: //默认语句