您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > Java核心和MySql设计与实现
类和对象类的定义:具有相同属性和行为的一组对象的集合结构:成员变量和操纵变量或者完成某种动作的成员方法【类修饰符】class类名extends父类名称implements接口列表{//成员变量(属性)列表//成员方法列表}在一个文件中,可以设置多个类,但只可以有一个类被设置为public,此时设置被设置为public的类必须和创建的类同名成员变量:分为静态成员变量和实例成员变量语法:【变量修饰符】变量类型变量名称;成员变量:可以是基本数据类型、数组、接口、和类,在每一个类中,成员变量都是唯一的。局部变量:在方法内定义的变量语法:【变量修饰符】变量类型局部变量名称;区别:局部变量和成员变量1.作用域:局部变量仅限于方法内部,成员变量可以在整个类中使用2.初始值:局部变量不会得到初始值,成员变量会得到一个初始值3.优先级:两类变量同名时,局部变量更具有优先级成员方法:定义:方法就是能够独立完成某种功能的代码块,方法是是程序的基本组成单位注意:外部程序是不会知道,成员方法的运转,只有main()方法可以作为应用程序的入口分类:从方法的定义来分,可以分为系统定义,用户自定义有关调用:类名对象名=new类名();调用对象的属性对象名.属性(=值)调用对象的方法对象名.方法有关数组:C语言1.一维数组inta[10];/*说明整型数组a,有10个元素*/floatb[10],c[20];/*说明实型数组b,有10个元素,实型数组c,有20个元素*/charch[20];/*说明字符数组ch,有20个元素*/数组名不能与其它变量名相同。例如:inta;floata[10];方括号中常量表达式表示数组元素的个数,如a[5]表示数组a有5个元素。但是其下标从0开始计算。因此5个元素分别为a[0],a[1],a[2],a[3],a[4]。不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。例如:#defineFD5//...inta[3+2],b[7]此时是错误的intn=5;inta[n];允许在同一个类型说明中,说明多个数组和多个变量。例如:inta,b,c,d,k1[10],k2[20];2.维数组的定义二维数组定义的一般形式是:类型说明符数组名[常量表达式1][常量表达式2]其中常量表达式1表示第一维下标的长度,常量表达式2表示第二维下标的长度。inta[3][4];数组的区别:1.C语言:数据类型数组名[长度]={值1,值2,值3,值4…..}2.C#:数据类型[]数组名=new数据类型[长度]3.Java:数据类型[]数组名=new数据类型[长度]/数据类型数组名[]=new数据类型[长度]定义方法的分类:无参无还packagecom.baidu;publicclassQwe{publicvoidshow(){inta=10;intb=10;ints=a+b;System.out.println(+s);}publicstaticvoidmain(String[]args{args{Qwech=newQwe();ch.show();}}无参有还packagecom.baidu;publicclassQwe{publicintshow(){inta=10;intb=10;ints=a+b;System.out.println(+s);returns;}publicstaticvoidmain(String[]args{Qwech=newQwe();ch.show();}}有参有还packagecom.baidu;publicclassQwe{publicintshow(inta,intb)ints=a+b;System.out.println(+s);returns;}publicstaticvoidmain(String[]args{Qwech=newQwe();ch.show(10,20);}}有参无还packagecom.baidu;publicclassQwe{publicvoidshow(inta,intb){ints=a+b;System.out.println(+s);}publicstaticvoidmain(String[]args){Qwech=newQwe();ch.show(10,20);}}参数的分类:1、形参(定义方法时使用)2、实参(调用时使用)构造方法:语法:修饰符构造方法名【参数列表】{//初始化成员变量}publicclassQt{//属性Stringname;intage;//创建一个构造方法publicQt(Stringname,intage){//实现初始化this.age=age;this.name=name;}}注意:1、构造方法的名称必须和类的名称相同2、不能有还回值3、构造方法一般不用private修饰,这会导致无法再外部创建对象4、构造方法不能有对象显示的调用,一般是通过new关键字来使用5、构造方法的参数列表可以带参数,也可以不带6、用户定义的类中可以定义多个构造方法,但是参数列表不同构造方法和方法的区别:1.调用的方法不同。构造方法是使用new创建,而方法是使用.调用.2.方法可以有返回值,也可以使用void,但是构造方法不可以使用返回值,也不可以使用void3.构造方法是组件的实体,而方法是实体的一个功能。4.构造方法必须和类名相同,而方法一般是和类名不同。什么封装:用来隐藏对象实现的细节。java的核心操作【封装,多态,继承】包:包可以避免命名冲突。减少代码的错误。文件包:语法:package包名称;导入包:语法:import包名.className;继承与多态继承:定义:能够反映事物共同性质的类,再由在他的基础上再派生出其他的类。语法:class子类名称extends父类名称{代码块;}关键字:extends分类:单继承(Java)和多继承作用:1、继承可以减少代码的重复使用2、可以增强代码的可读性,可靠性。3、增强代码可维护性。使用:使用继承用到的关键字:extends[java只支持单继承]特征:1.子类拥有父类的一般属性和方法[父类拥有的方法和属性子类可以继承,但是如果是父类私有的属性,子类不可以拥有]2.在调用子类的构造方法的时候,必须先调用父类的构造方法[默认情况下,调用的是父类隐式构造super()]3.如果子类调用构造方法,调用的是父类的显示构造,则必须讲父类的构造进行显示调用,必须讲super调用写在方法的第一行。否则程序编译出错。多态:什么是多态:多态就是程序的多种表现形态[继承就是多态的表现]多态的具体体现:重载与重写方法的重载:什么是方法的重载及特征:a)必须是在同一类中b)访问修饰符,返回类型,方法名称相同,只有方法的参数不同叫方法的重载方法的重写什么是方法的重写及特征:a)必须是在继承关系中b)访问修饰符,返回类型,方法名称,参数都相同叫方法的重写。【在子类重写父类方法的时候,判断的依据就在方法的前面会出现一个倒三角】this和super的区别this:1.必须的本类中2.调用当前类的属性和方法3.如果是写在构造方法中,this必须写在第一个行,但是this可以省略[普通变量赋值]super:1.必须是继承关系中2.调用父类的属性和方法3.如果是写在子类的构造方法中,必须讲super写在第一行注意:this和super在调用构造方法的时候必须将this和super放到第一行.访问修饰符:final1.如果一个变量被final修饰,我们叫常量2.如果一个类被final修饰,不允许被继承,叫静态类3.如果一个方法被final修饰,不允许重写叫静态方法static1.如果被static修饰,在内存中表示静态的,只会开辟一次内存.2.如果被static修饰的方法,程序首先执行3.如果被static修饰的方法,可以通过类名直接调用4.如果是被static修饰的变量或者方法,在内存中开辟一次空间,但是开辟的空间不可变。会导致资源浪费。所以,不是静态越多越好,静态空间越多,计算机的性能越慢。可以尽量避免使用static修饰public公共的用public作为修饰符,在任何地方都可以被访问protected受保护的在同一个类中,在同一个包中,在不同包中的子类可以访问。在不同包中的非子类不可以访问default默认的在同一个类中,在同一个包中,可以访问private私有的只有在本类中可以访问抽象abstract:1.抽象的定义:对某种事物不能够具体化的时候叫抽象2.抽象的作用:可以对类进行扩展,可提高程序的可扩展性。3.特点:1、被抽象的类,必须由子类去完成具体化。2、如果某一个方法被抽象,那么此方法所在类必须定义抽象类。抽象的方法没有方法体。具体的实现必须交给子类完成。3、在抽象的类中可以定义抽象的方法,也可以普通方法。4、方法一旦被抽象,那么只有方法的声明,没有方法的实现[方法体]。5、抽象类被子类继承以后,必须全部实现父类中的抽象方法,否则系统编译出错。6、被抽象以后的类不能被实例化也不可以被static修饰,构造方法不可以被抽象.4。什么情况下必须定义抽象:如果父类中方法必须要求子类全部实现,那么可以将父类定义抽象的。并且将父类中的方法声明为抽象的方法。接口interface:能够提供多种应用服务。为什么使用接口:a)接口是抽象的最高境界。b)接口可以解决java的单根继承问题。如何使用接口:接口的关键字:interface如何实现接口:implements接口的特点:a)接口不可以定义为classb)接口下面的所有的变量都叫常量,在定义的时候必须给值.因为接口下的所有变量默认被final修饰c)接口中的方法都是抽象方法.方法的实现都必须交给子类完成.d)接口中没有构造方法.不能实例化.不能使用new关键字。e)接口下的变量默认都是被final,static,public修饰.f)接口可以继承接口.不可以实现接口[因为接口是抽象的,实现必须交给类完成]g)一个类只能继承一个类,但是可以实现多个接口.类实现接口的时候必须重写接口的所有方法。JAVA基础类的运用一、JAVA基础包(API):二、常见的类:1、类中的顶级类Objectequals方法:比较两个对象的内存地址和==是完全相同publicclassA01{publicstaticvoidmain(String[]args){Objectch=张三;Objectch1=张三;//结果为trueSystem.out.println(ch==ch1);//结构为trueSystem.out.println(ch.equals(ch1));}}String重写了Object下面equals方法:在String当中equals比较的是两个对象的内容,而==任然是比较的内存地址。比较两个字符串是否相等,都要使用equalspublicclassA01{publicstaticvoidmain(String[]args){Stringch=newString(张三);Stringch1=newString(张三);//结果为falseSystem.out.println(ch==ch1);//结构为trueSystem.out.println(ch.equals(ch1));}}publicclassA01{publicstaticvoidmain(String[]args){Stringch=newString(张三);Stringch1=张三;//结果为falseSystem.out.println(ch==ch1);//结构为trueSystem.out.println(ch.equals(ch1));}}2、字符串String固定存储:一旦申请内存空间则不可变,如果要产生新的字符串,只有重新申请内存Stringbuffer可变字符串,线程安全,存储速度快Stringbuilder可变字符串,线程不安全,存储速度快publicclassTestString{publicsta
本文标题:Java核心和MySql设计与实现
链接地址:https://www.777doc.com/doc-2878836 .html