推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

Java面向对象

   2023-07-01 网络整理佚名1670
核心提示:什么是面向对象面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。对象:对象是类的一个实例,有状态和行为。面向对象的三大特征:封装是面向对象的特征之一,是对象和类概念的主要特性。就近原则,子类没有找子类,子类没有找父类,父类没有就报错!多态性是指允许不同类的对象对同一消息作出响应。使用new关键字创建对象

什么是面向对象

Java编程语言是面向对象的,用这种语言进行的编程称为面向对象编程(OOP)。

面向对象编程的本质是以类的形式组织代码,以对象的形式组织(封装)数据。

对象:对象是具有状态和行为的类的实例。 例如,狗是一个对象,它的属性有:颜色、名字、品种; 行为有:摇尾巴、吠叫、吃东西等。人也可以是一个物体。 他的属性包括:姓名、身高、年龄; 行为包括:吃饭、学习和工作。

类:类是描述一类对象的行为和属性的模板。

面向对象三大特点:

1. 封装

封装是面向对象的特征之一,是对象和类概念的主要特征。 封装就是将流程和数据包围起来,对数据的访问只能通过指定的方式进行。

在定义对象的特征时,需要决定这些特征的可见性,即哪些特征对外部可见,哪些特征用来表示内部状态。

一般来说,应该禁止直接访问对象中数据的实际表示,而应该通过操作接口来访问,这称为信息隐藏。

信息隐藏是用户对封装的认识,封装为信息隐藏提供支持。

封装保证了模块具有更好的独立性,使程序的维护和修改更加容易。 对应用程序的修改仅限于类的内部,从而最大限度地减少应用程序修改的影响。

封装的优点

Java封装的实现步骤

1、修改属性的可见性,限制对该属性的访问(一般仅限于),例如:

public class Person { 
    private String name; 
    private int age; 
}

这段代码中,name和age属性被设置为,只能被本类访问,不能被其他类访问,所以信息保持私有。

2.为每个值属性提供外部公共方法访问,即创建一对用于访问私有属性的赋值方法,例如:

public class Person{ 
    private String name;
    private int age; ​ 
    private boolean alive;
 
    public int getAge(){
        return age; 
    } 
 
    public void setAge(int age){ 
        this.age = age; 
    } ​
 
    public String getName(){ 
        return name; 
    } ​
 
    public void setName(String name){ 
        this.name = name; 
    }
 
    public boolean isAlive() {
		return alive;
	}
 
	public void setAlive(boolean alive) {
		this.alive = alive;
	}
 
}

this关键字用于解决实例变量(name)和局部变量((name)中的name变量)的同名冲突。

封装还可以提高代码的安全性。 例如,普通的类属性可以直接通过“对象名.属性=xxx”来赋值,无需修改,但是当我们修改属性时,我们不能随意修改。 ,我们还可以在其外部访问方法中进行合法值验证。 例如,上例中的()可以改为:

public void setAge(int age){
    if(age > 120)
        System.out.println("Age setting error");
    else
        this.age = age;
}

2. 继承

继承是链接类的层次模型,并允许和支持类的重用,它提供了一种显式表达共性的方法。

新类继承原类后,新类继承了原类的特性。 新类称为原类的派生类(子类),原类称为新类的基类(父类)。

派生类(子类)可以从基类(父类)继承方法和实例变量,派生类(子类)可以修改或添加新的方法,使其更适合特殊需要。 良好的继承性解决了软件的复用性问题。 例如,所有应用程序都有一个窗口,它们可以被视为派生自一个窗口类。 但有些应用程序用于文字处理,有些应用程序用于绘图。 这是因为派生了不同的子类,每个子类添加了不同的功能。

1.什么是继承? 继承有什么好处?

继承是指java允许我们使用关键字来建立一个类与另一个类之间的轴关系

提高代码复用性、键上的代码冗余、增强类的功能可扩展性

2.类继承格式:

类父类{}

类 子类 父类 { }

继承的类型:需要注意的是,Java不支持多重继承,但支持多重继承。

3、继承后子类有什么特点?

子类继承父类,子类可以获取父类的属性和行为,子类可以使用

Java中的子类更强大

4、继承需要满足什么设计规范?

父类中定义了子类相同的特性(公共属性、公共方法)

子类特有的属性和行为应该在子类本身中定义

5、继承有什么特点?

子类可以继承父类的属性和行为,但子类不能继承父类的构造函数

Java是单继承模型:一个人只能继承一个直接父类

Java不支持多重继承,但支持多级继承

Java中的所有类都是类的子类

6、子类方法中访问成员(成员变量、成员方法)满足:

就近原则,如果子类没有找到子类,如果子类没有找到父类,如果父类不存在,就会报错!

7.如果子类和父类中存在同名成员,磁铁必须在子类中使用父类怎么办?

极好的。 父类成员变量/父类成员方法

3、多态性

多态性是指允许不同类的对象响应相同的消息。

多态语言具有灵活性、抽象性、行为共享、代码共享等优点,很好地解决了应用函数的同名问题。

创建初始化对象

对象是使用new关键字创建的

使用new关键字创建时,除了分配内存空间外,还会默认对创建的对象进行初始化,并调用类中的构造函数。

this 关键字 1. this 关键字是什么?

出现在构造函数和成员方法中,代表当前对象的地址

2. this关键字在构造函数和成员方法中可以做什么?

可用于指定对当前对象的成员的访问

这个和超级细节

this:代表类对象的引用; super:表示父类的存储空间的标识符。

关键字访问成员变量 访问成员方法 访问构造函数

这。 成员变量访问该类的成员变量

this. (...) 访问该类的成员方法

this(...) 访问此类的构造函数

极好的

super、成员变量访问父类成员变量

super, (...)访问父类成员方法

super(....) 访问父类构造函数

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON