华清远见-重庆中心-JAVA面向对象阶段知识总结

华清远见-重庆中心-JAVA面向对象阶段知识总结

1、面向对象的特点?

  • 封装

封装隐藏了类的内部实现机制。对属性进行了封装:外界只能通过特定的方法进行访问。对方法进行了封装:外界只能通过制定好的方式调用,不用了解方法内部逻辑,方便使用。保护了数据。便于修改,增强了代码的可维护性和复用性

  • 继承

继承是从已有的类中派生出新的类,即子类继承父类。当子类通过extends关键字继承了父类后,便继承了父类的属性和方法。同时子类还可以具备父类所不具备的属性或方法。

注意:子类继承了父类所有的属性和方法,但父类的私有属性和方法,子类是不能直接访问的。

  • 多态

多态是类和类的关系。

多态必须具备三个条件:

1.要有继承关系

2.要有方法的重写

3。父类的引用指向子类的对象

正是因为两个类有继承关系,并存在方法的重写,才能在调用时父类的引用指向子类的对象

通过多态可以是一个对象在不同载体中呈现不同的状态。

多态就是同一个行为具有多个不同表现形式或形态的能力。

2、你怎么理解面向对象?

Java语言就是面向对象的语言。要使用Java进行面向对象编程,首先建立一个面向对象的思想。面向对象是一种直观且程序结构简单的程序设计方法。它比较符合人类认识现实世界的思维。

基本思想:把问题看成若干对象的组成,这些对象之间是独立的,但是它们之间又可以相互配合,连接和协调,从而完成整个程序实现的任务。

3、面向对象和面向过程的区别?

面向过程OOP:所有步骤依次执行,注重执行的细节

面向对象POP:创建解决问题的对象,让各个对象调用各自的方法配合完成。

在面向对象编程OOP中,给类定义的方法,具体的实现过程,其实也是面向过程的。

例:

面向过程:

先定义一个玩家,然后定义拿起手机,打开游戏,再定义注册登录游戏,开始游戏等一系列操作步骤等。

面向对象:

定义一个玩家,再定义一个对象(游戏),其他的属性行为都封装在这个游戏对象内,具体怎么玩,我们都不用管,都由这个对象来实现,只需要我们来指挥运行它即可。

4、接口和抽象类的区别是什么 ?

**接口:**在Java编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法

**抽象类:**在面向对象的概念中,所有的对象都是通过类来面会的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。

两者的区别:

相同点:

(1)都不能被实例化

(2)接口的实现类或抽象类的子类都只有实现了接口或抽象类的中的方法后才能实例化

不同点:

(1)接口只有定义,不能有方法的实现,JDK1.8后可以定义default方法体,而抽象类可以有定义与实现,方法可在抽象类中实现。

(2)实现接口的关键字为implements,继承抽象类的关键字为extends。一个类可以实现多个接口,但一个类只能继承一个抽象类。所以,使用接口可以间接地实现多重继承。

(3)接口强调特定功能的实现,而抽象类强调所属关系。

(4)接口成员变量默认为public static final,必须赋初值,不能被修改;其所有的成员方法都是public、abstract的。抽象类中成员变量默认为default,可在子类中重写被定义,也可被重新赋值;抽象方法被abstract修饰,不能被private、static修饰,必须以分号结尾,不带花括号。

5、成员变量与局部变量的区别有那些 ?

1、定义的位置不一样

局部变量:定义在方法内部

成员变量:在方法外部,直接写在类中

2、作用范围不一样

局部变量:只有方法中能使用,除了方法就不能用

成员变量:整个类都可以用

3、默认值不一样

局部变量:无默认值,先赋值再使用

成员变量:如果没有赋值有默认值

4、内存的位置不一样

局部变量:位于栈内存

成员变量:位于堆内存

5、生命周期不一样

局部变量:随着方法的进栈而诞生,随着方法出栈而消失

成员变量:随着对象的创建而诞生,随着对象被垃圾回收而消失

6、创建一个对象用什么运算符?对象实体与对象引用有何不同?

用new创建对象

public class Person(){
    System.out.printlun("person");
}
public class Main{
    public static void main(String[] args){
        Person p = new Person();
    }
}

一个对象实体可以有N个引用指向它,而一个对象引用可以指向0个或1个对象(即一根绳子可以不系一个气球,也可以系一个气球,而一个气球可以由N根绳子来系)

7、什么是方法的返回值?返回值在类的方法里的作用是什么?

1、方法的返回值是指指向某一方法体中的代码所产生的结果。前提是这种方法可能产生结果。

2、返回值的作用:接受结果,使其能够作用于其他操作。

8、一个类的构造方法的作用是什么 若一个类没有声明构造方法,该程序能正确执行吗 ?为什么?

1、构造方法的主要作用是完成对该类的初始化。

2、若一个类没有声明构造方法,该程序也能够正确执行,因为一个类即使没有声明构造方法也会有默认的不带参数的构造方法,当我们自己添加了类的构造方法,那么就不会再添加无参构造。

9、构造方法有哪些特性 ?

  • 构造方法的方法名必须与类名相同。
  • 构造方法没有返回类型,也不能定义void,在方法名前面不声明方法类型。
  • 构造方法的主要作用是完成对象的初始化,它能够把定义时对象的参数传给对象的域
  • 构造方法不能有变成人员调用,而要系统调用
  • 一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会完成自动插入一个无参构造。
  • 构造方法可以重载,以参数的个数、类型或排列顺序区分

10、对象的相等与指向他们的引用相等,两者有什么不同?

  • 对象的相等,比的是内存中存放的内容是否相同
  • 引用相等,比较的是他们指向的内存地址是否相等

11、在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?

  • 构造方法是为了初始化对象中的属性和方法
  • 子类继承父类的成员变量,所以要先调用父类的构造方法和属性

12、构造方法、静态代码块、构造代码块中的方法执行顺序是怎样的?

执行顺序

静态代码块>构造代码块>构造方法

原因:

  • 静态代码块在类加载的时候执行一次,是最早执行的
  • 构造代码块在每一次创建对象时候执行,始终在构造方法前执行
  • 构造方法在新建对象时调用,即new的时候。

13.普通类和抽象类有哪些区别?

  • 普通类不能包含抽象方法,抽象类不一定包含抽象方法,但是有抽象方法的类必定是抽象类
  • 抽象类不能直接实例化,普通类可以直接实例化
  • 在抽象类中,可以允许普通方法有主体,抽象方法只需要声明,不需要实现
  • 普通类和抽象类都可以被继承,但是抽象类被继承之后,子类需要重写抽象类中的全部抽象方法,否则子类必须是一个抽象类。

14.抽象类能使用 final 修饰吗?

不能,因为抽象类必须被继承,而被final修饰的类不能被继承

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 根据所提供的华清远见-c0rtexas9资料路径,在实验中涉及到了Linux系统标准IO的应用实验。Linux系统标准IO是指Linux操作系统提供的一套标准化的IO库,可以用于操作文件、输入输出等。以下是对该实验的简单描述: 这个实验主要是关于Linux系统标准IO的应用实验。在该实验中,我们可以找到程序的源代码,该源代码是用Linux应用程序的方式编写的。通过这个实验,我们可以了解和学习Linux系统标准IO的基本操作和使用方法。 Linux系统标准IO是一套非常强大和灵活的IO库,提供了一系列的函数和方法来操作文件和进行输入输出。在实验源码中,我们可以看到一些常见的标准IO函数,比如fopen、fclose、fprintf和fscanf等。 通过这些函数,我们可以打开和关闭文件,从文件读取数据或向文件写入数据。实验源码中包含了一些常见的操作,比如读取文件、写入文件、复制文件和查找文件等。通过实验,我们可以了解到如何使用这些函数来完成不同的操作。 此外,在实验源码中可能还会涉及到一些其他的Linux系统标准IO相关的知识点,比如文件指针、文件描述符和文件流等。这些知识点对于理解和使用Linux系统标准IO函数非常重要。 通过实验中提供的源代码,我们可以进行相应的实验操作,从而更好地理解和学习Linux系统标准IO的使用。同时,我们也可以通过对实验源码的分析和调试,更深入地了解Linux系统标准IO的内部工作原理。 总之,通过这个实验,我们可以掌握Linux系统标准IO的基本操作和使用方法,从而提高我们在Linux系统中进行文件操作和输入输出的能力。 ### 回答2: 华清远见(英文名称为Far Infrared Technologies International Limited)是一家专注于红外光学技术研发及应用的企业。该公司的产品主要应用于安防监控、无人机、机器人、智能家居等领域。 关于"06. linux系统标准io实验"的实验资料包括了程序源码。在Linux操作系统中,标准I/O(Input/Output)库是用于进行文件读写和输入输出操作的一套API(Application Programming Interface)。标准I/O库提供了一系列函数,包括文件打开、读取、写入、关闭等操作,方便开发人员进行文件操作和输入输出。 这份实验资料中的源码,应该是用于展示和实践Linux系统标准I/O库的使用方法和技巧。通过编译和运行这些源码,可以了解如何使用标准I/O库来进行文件的读写和输入输出操作,包括打开文件、读取文件内容、写入文件等。 这些实验源码可以作为学习和实践Linux系统标准I/O库的参考资料。通过实际操作,可以加深对标准I/O库的理解和掌握,提高在Linux环境下进行文件操作和输入输出的能力。 总之,"06. linux系统标准io实验"的实验资料中的程序源码是用于学习和实践Linux系统标准I/O库的使用方法,通过编译和运行这些源码,可以加深对标准I/O库的理解和掌握,提高在Linux环境下进行文件操作和输入输出的能力。 ### 回答3: 华清远见-c0rtexa9资料中的程序源码目录为\linux应用实验源码\06. linux系统标准io实验\。这个实验中包含了一些关于Linux系统标准输入输出的代码示例。 在Linux中,标准输入输出是三个预先定义好的文件描述符,分别是0(stdin),1(stdout),2(stderr)。这些文件描述符与输入输出设备关联,比如键盘和屏幕。使用标准输入输出可以实现用户与程序之间的交互以及程序的输出显示。 在实验源码中,我们可以看到许多用于标准输入输出的函数,包括printf、scanf、getchar、putchar等。这些函数可以帮助我们进行输入输出操作。 在实验中,我们可以通过这些代码示例学习如何从标准输入读取用户输入,如何向标准输出显示结果。例如,可以使用scanf函数读取用户输入的数据,使用printf函数将处理结果输出显示。 通过实验中的代码示例,我们可以学习到如何处理标准输入输出的错误,如何进行格式化输入输出,如何使用缓冲区进行高效的输入输出等。 总之,华清远见-c0rtexa9资料中的\linux应用实验源码\06. linux系统标准io实验\中包含了一些关于Linux系统标准输入输出的代码示例,通过这些示例我们可以学习到如何进行标准输入输出操作,以及一些与之相关的技巧和注意事项。这对于学习Linux系统编程和开发应用程序非常有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值