发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
1.继承(1)创建子类对象的时候,在子类对象中会为子类对象的字段开辟空间,也会为父类的所有字段开辟空间,只不过父类私有的成员访问不到(2)子类从父类继承父类所有的非私有成员,但是父类的所有字段也会创建,只不过父类私有的成员访问不到(3)base关键字可以调用父类的非私有成员(4)子类的访问级别不能比父类高,原因是访问子类的同时也访问了父类,如果子类的访问级别不能比父类高,就矛盾了(5)创建子类的时候,会先调用子类的构造函数,然后调用父类的构造函数,然后执行父类的构造函数,最后再执行子类的构造函数(6)子类的构造函数后面默认加了一个:base()通过这个调用父类的无参构造函数,如果父类没有无参数的构造函数,将会报错,因为子 类的构造函数默认会调用父类的无参数的构造函数(7)使用base关键字可以显示的指定子类构造函数调用父类的构造函数(8)继承的特征:单根性:类只能有一个父类传递性:子类继承父类所有的非私有成员(9)父类与子类存在同名成员的时候,如果创建一个子类对象,调用这个子类对象的同名方法会调用子类的(10)new关键字的第2作用隐藏父类的同名成员
2.里氏替换原则LSP子类可以替换父类的位置,并且程序的功能不受影响Person p = new Student();p.SayHi();//这个是调用Person的SayHi()
如果一个父类变量指向的是子类对象,将这个父类对象转换为子类对象不会报错Person p = new Student();Student s = (Student)p;这种类型转换不会报错
如果一个父类变量指向的就是一个父类对象,将这个父类对象转换为子类对象会报错Person p = new Person();Student s = (Student)p;这种类型转换会报错
3.虚方法 virtual关键字如果子类重写了父类的虚方法,那么通过父类变量来调用这个方法的时候会调用子类的,如果没有,则会调用父类的
4.多态同一种行为,对于不同的事物,有不同的表现形式多态的表现形式之一:将父类类型作为方法的参数,屏蔽多个子类的不同,将多个子类当成父类来统一处理多态的表现形式之二:将父类类型作为方法的返回值
5.抽象类、抽象方法(1)抽象方法用abstract关键字修饰,抽象方法不能有方法体,抽象方法必须在抽象类中(2)抽象类不能实例化,因为有抽象成员,而抽象成员没有方法体的(3)如果子类继承抽象类,子类必须重写父类的抽象方法(4)抽象类中可以拥有非抽象成员,为了继承给子类(5)当子类必须重写父类的方法或者父类没有必要实例化就用抽象类
6.Equalsobject类里面的equals方法是比较两个对象的引用地址,如果引用地址是一样的返回truestring str1 = "abc";string str2 = "abc";str1.Equals(str2);//返回True,这个Equals方法是string类的,string类的Equals方法是比较两个字符串的内容是否相同
int a = 1;int b = 1;a.Equals(b);//返回True值类型Equals方法比较的是两个结构对象里字段的值(这个时候不存在重写,只是值类型自己新增的一个Equals方法)所以:引用类型的Equals方法默认比较的是两个对象的引用地址string类型,值类型的Equals方法比较的是两个结构对象里字段的值
7.接口(1)接口表示具有某种能力(2)接口的本质是一个特殊的抽象类(3)接口中的成员默认就是抽象的(4)接口中只能定义方法、属性、事件、索引器(5)接口中抽象成员不能有访问修饰符,默认就是public(6)接口就是一个纯粹的为了规范实现类的(7)string Name{get;set;}这个在接口中不是一个自动属性,是一个普通的属性,只不过get set方法没有实现(8)什么时候使用抽象类:可以找到父类,并且希望通过父类继承给子类一些成员什么时候使用接口:多个类具有相同的方法,但是却找不出父类(9)显示实现接口:是为了解决方法名冲突的问题,显示实现的接口的方法是私有的,所以不能通过对象的变量来调用(10)显示实现接口:这个接口的实现方法只能通过接口变量来调用(11)要避免定义多功能接口,以免造成接口污染
8.装箱拆箱装箱:值类型转化为引用类型int i = 12; object obj = i;拆箱:引用类型转换为值类型 int j = (int)obj;装箱和拆箱是比较消耗性能的,要尽量去避免装箱和拆箱操作
9.字符串(1)字符串是特殊的引用类型(2)字符串我们可以看做是一个字符数组string str = "abcd";char c = str[0];(3)字符串对象一旦创建,这个对象就不能被修改(4)在创建一个字符串对象的时候,会先去字符串拘留池中寻找是否有相同字符串内容的对象,如果有就直接让变量指向这个对象,如果没 有再创建新的对象比如:string s1 = "a"; string s2 = "b"; s1 = "b"; s1的引用地址和s2的引用地址是相同的,都指向字符串拘留池中的“b”,不会再创 建一个“b”(5)字符串对象一旦创建,不会被GC回收,因为微软就认为字符串是常用的(6)字符串常用的方法、属性:String s = new String(new char[]{'a','b'});//构造函数只能传递字符数组int i = s.Lengthstring s = string.Empty代表一个空的字符串 "",不是指的null string.Empty等于"",推荐使用string.Empty;为了防止不会写错int i = string.Compare(s1,s2);比较两个字符串的大小,返回-1,0,1string s = string.Concat(s1,s2)连接字符串并组成一个新的字符串bool b = s.Contains("ab");判断字符串里面是否包含指定的字符串b = s.EndWith("b");判断字符串是否以指定的字符串结尾b = s.StartsWith("a");判断字符串是否以指定的字符串开始int i = s.IndexOf('a');查找指定的字符或者字符串在字符串中的索引,如果没有返回-1int i = s.LastIndexOf('!');从字符串的结尾往前面查,第一次字符串出现的索引string s = s.Insert(1,"c");在字符串的指定位置插入字符串char[] c = s.ToCharArray()将字符串转换为字符数组还有好多方法就不写了(7)StringBuilderStringBuilder这个类的对象是可变的,当改变这个对象的字符串时,不会新开辟空间,而是直接改变。
10.Stopwatch watch = new Stopwatch();//计时器watch.Start();watch.Stop();watch.ElapsedMilliseconds毫秒数
来自: 昵称10504424 > 《工作》
0条评论
发表
请遵守用户 评论公约
Java第二次月考50题及解析
选项A错误,必须将参数强制转换到Point类型,才能访问Point类中的x和y 选项B错误,不符合题目中的需求,需要比较的是两个对象的x和y 选项C正确 选项D错误必须将参数强制转换到Point类型,才能访问Point...
Java String类详解(一)
我们来看一个例子:public class StringDemo { public static void main(String args[]) { String str1 = '''''...
java题型解答
4、java的类加载器有几种,分别是什么,描述一下类加载的双亲委派机制?类加载器分为启动类加载器,扩展类加载器、应用程序类加载器、线程上下文类加载器。双亲委派机制,java的三种类加载器存在父子关...
java 空字符串与null区别
""是一个字符串(String).它在内存中是存在的.它可以使用Object对象中的方法(如"".toString();"".equals()) 而null它是一个空对象.在内存中是不存在的.它不可以使用Objec...
C# string 到底是引用类型还是值类型
static void Main(string [] args) { string str = "string" ;} static void Change(string str) { str = "Changed" ;string str3 = "system." + str1;这是因为动...
java中equals和equalsignorecase的区别
java中equals和equalsignorecase的区别1、使用equals( )方法比较两个字符串是否相等。这里str是一个用来与调用字符串(String)对象做比较的字符串(String)对象。这里,str是一个用来与调用字符串(S...
java笔记.equals的方法
java笔记.equals的方法1、.equals方法。equals方法是Java语言中Object类中的一个方法,其作用是判断两个对象是否相等。public boolean equals(Object obj) { if (this == obj) return true;return O...
String 字符串对象
String 字符串对象String是什么。String str3 = new String("a");//使用new关键词创建String对象 String str4 = "b"...
Java笔试面试题整理第三波
这是因为,我们没有重写Person的hashCode方法,使hashCode方法与我们equals方法的逻辑功能一致,此时的Person对象调用的hashCode方法还...
微信扫码,在手机上查看选中内容