当前位置: 首页 > 后端技术 > Java

Java基础(面向对象)

时间:2023-04-02 09:57:11 Java

Java基础面向对象主要关键词1、静态调用格式:1)在同一个类中:static:方法名属性名类名。方法名类名。属性名称对象名称。方法名称对象名称。属性名称非静态:对象名称。属性名称对象名称。方法名称2)在不同的类中:Static:对象名称。方法名称对象名称。属性名类名。方法名类名。属性名称是非静态的:对象名称。属性名类名。方法名注意:1.static可以修改属性、方法、代码块,但不能修改类和构造方法。2.加载类时加载静态方法。3.静态方法区的东西只有一份,所有的对象共享这个空间。只要一个对象修改了属性,所有的对象调用都是修改后的数据。4、代码块的执行顺序:静态代码块(只调用一次)>构造代码块{}>构造方法>普通方法(需要调用)2、this关键字1)可以调用属性和方法。this.propertyname(globalvariable)this.methodname();2)构造方法中:a.this();括号中参数的个数、顺序和类型根据调用方式确定。b.必须放在第一行,只能调用一次。C。调用构造方法时,只能在构造方法中调用。调用属性和方法时,可以在构造方法中,也可以在普通方法中。d.当全局变量和局部变量重名时,用这个来区分。3、super关键字1)super指的是父类对象。2)super可以调用属性、方法和构造函数。3)super调用父类的构造函数。4)调用构造函数时super必须放在第一行。4.finalfinal1)可以修饰全局变量,声明时必须赋值,并且只能赋值一次。2)可以修改局部变量,声明的时候不能赋值,但是只能赋值一次。3)方法可以修改,可以正常使用,不能重写。4)类可以修改,可以正常使用,但不能继承。5)用final修饰的属性通常称为常量。6)staticfinal全局变量。每个字母都应该大写。5、this和super的区别1)this指的是这个类创建的对象。super指的是父类的对象2)this可以调用属性、方法和构造函数。super还可以调用属性、方法和构造函数。3)this调用属性和方法时,调用的是自己类的属性和方法。如果没有这个类,那就用super在父类中找。4)this调用构造函数调用,调用本类的其他构造函数。super调用父类的构造函数。5)this和super在调用构造函数时必须放在第一行。6)this和super不能同时存在。6.作用域最小最强原则:在该方法中,局部变量比全局变量在该方法中的作用更强。传送门csdn类和对象Object:Composition:Behavior(method)Features(属性)Features:封装,继承,多态(下面会介绍)创建方法:通过类实例化获取(newclassname();)class:composition:Attribute:对象数据的描述方法:对象行为构造方法:用于实例化对象内部类:在类(内部类)中声明的类块:分为静态块和实例块类声明:(访问修饰符public.default(可以被忽略,默认))(修饰符final.abstract.synchronized)class类名{classbody}类的作用:一个类是一个模板,它定义了多个对象的公共属性和方法如:students类(张三、李四) 手机类(Huawei.oppo)特点:单例、全局唯一、线程安全的面向对象三大特点1.封装概念:封装(英文:Encapsulation)指的是一个A部分包装和隐藏抽象功能接口的实现细节的方法。作用:提高代码安全性方法:1)将属性私有化,对外提供接口(get/set方法)。2)用private修饰的属性和方法只能在本类中使用。优点:1.好的封装可以降低耦合。2.类内部结构可以自由修改。3.可以更精确地控制成员变量。4.隐藏信息,实现细节。传送门菜鸟教程2.继承 作用:提高代码复用性,减少重复代码  1)子类可以继承父类的非私有属性和方法,但不能继承构造方法和私有属性和方法。  2)可以综合子类的共同特征来细化父类。  3)子类在继承父类的各种属性和方法的同时,也可以拥有自己的属性和方法。  4)一个子类只能有一个父类。Java只能继承单继承,不能继承多继承,因为多个类中的方法名相同,方法体不同。我不知道该用哪一个。  5)类继承的最顶层称为基类或超类,所有超类都称为对象。  6)在继承关系中,如果父类没有无参构造函数,如何解决?A。在子类中添加一个与父类构造方法参数列表相同的构造方法,并将超参数传递给父类构造方法b。如果父类允许修改,可以在父类Method中创建一个无参构造  7)在继承关系中,代码块的执行顺序:parentstatic(静态成员变量>static代码块)>childstatic(静态成员变量>静态代码块)>父构造代码块>父构造方法>子结构代码块>子结构方法传送门菜鸟教程三、多态性1)分类编译时多态性:编译时检测到的多态性、重载、向上转换。Runtimepolymorphism:运行时检测到的多态性,向下转化。2)向上转型和向下转型是继承关系,向下转型必须建立在向上转型的基础上。3)在继承关系中,父类的对象可以指向子类的实例。父类在引用实体方法时,调用的是子类重写的方法。4)向上转化的父类的引用指向子类的实体。属性和方法解决方案:向下转化5)向下转化:将子类对象的父类引用赋值给子类子类类名对象名=(子类类名)父类对象;6)instanceof判断左边的对象是否属于右边的类对象名instanceof类名(子类类名)7)匿名对象new类名()只有堆空间,没有栈空间,只能属于一次,顺序保存代码。重写(Overriding)和重载(Overloading)  方法重载:指同一个类中的多个同名方法,但这些方法的参数列表不同,即参数的个数或类型不能完全重写相同  方法:在子类和父类之间,子类定义的方法与父类中的方法具有相同的方法名、相同的参数列表和相同的返回类型注:(1)在子类中父类中的final方法不能被重写(2)父类中的抽象方法必须在子类中重写(3)子类函数的访问修改权限不能小于父类(4)子类的异常类型必须小于父类的异常类型  重写类方法的规则:1.参数列表必须与被重写的方法完全一致,否则不能调用重写而是重载2.的返回类型必须始终和被重写方法的类型相同,否则不能称为重写而是重载3.访问修饰符的限制必须大于被重写方法的访问修饰符(public>protected>default>private)4.重写的方法不能抛出一个新的checkedexception或者一个比重写的方法声明更宽的checkedexception。例如:父类的一个方法声明了一个checkedexceptionIOException。重写该方法时,不能抛出Exception,只能抛出IOException的子类。类异常可以抛出uncheckedexceptions  重载规则:1.必须有不同的参数列表2.可以有不被骂的返回类型,只要参数列表不同(类型,顺序,数量)3.可以有不同的访问修饰符4.可以抛出不同的异常  重写和重载的区别:1.重写是在继承关系上;重载在同一个类中2.重写方法名和参数列表与父类相同;重载,方法名相同,但参数列表不同(个数、类型、顺序)3、重写后的返回值类型与父类相同;重载与返回值无关4.重写访问修饰符不能比父类更严格;重载不需要引用