提问:
1.什么是访问限定符?
2.java中常用的关键字有哪些?
3.简述final以及static关键字?
4.面向对象的三大特征?
5.简述抽象类和接口
解答1:访问限定符是用来修饰类、属性(成员变量、类变量)、方法
延伸:
变量:
1.类变量:在整个类中[该类的所有对象都能使用]
2.成员变量:在整个对象中
3.参数变量:在整个方法中
4.局部变量:从定义开始到其所在的代码块结束
注意:参数变量和局部变量不能被访问限定符修饰
解答2:java中的常用关键字有:public private 默认不写 protected
关键字的适用范围
同类 | 同包 | 不同包的子类 | 同一个程序 | |
public | √ | √ | √ | √ |
protected | √ | √ | √ | |
默认不写 | √ | √ | ||
private | √ |
解答3:
final是用来修饰 类 变量 方法
final修饰的类不可以被继承(你可以理解为太监类,但是当面试时你得讲的专业化一点)
final修饰方法时,表示这个方法不可以被修改(写法:public final void 方法名(){})
final修饰变量时,表示这个变量必须要赋值,且只能赋值一次
参数变量同样可以被final修饰,但是参数变量不能被访问限定符修饰
static是用来修饰类 属性 方法
static的属性 和方法是不需要通过对象来调用的
static [l类属性]:该类的所有对象共享一个属性,占用一块内存空间,可以通过对象类名直接调用
类方法中不能通过this super表示对象,static修饰的方法叫做静态方法,不能直接访问本类的非静态成员,
但是非静态成员可以访问本类的静态成员
类方法调用的是父类还是子类只与类名有关
成员属性:成员属性的对象都单独占用一块内存空间
成员方法:调用父类还是子类的重写至于对象的方法名有关
static修饰初始代码块:这时这个初始代码块就叫做静态代码块,这个代码块只在类被加载时被执行了一次
解答4:面向对象的三大特征是:继承 封装 多态
封装:面向对象的主要特征,将对象的属性和方法结合成一个独立的整体,并尽可能的隐藏其实现细节
继承:在定义和实现一个类时,可以在已经存在的类的基础上执行,可以加入新的内容,或者修改原来
的方法。提高了软件的可重用性和扩展性。
多态:同一个类型的对象执行同一个行为,得到的结果可能不一样
重写多态[动态多态]:由于继承和重写机制导致的多态
重载多态[静态多态]:由于重载机制导致的多态
解答5:
抽象类:
public abstract class 类名{}
抽象类当中可以是抽象方法也可以是具体的成员方法(抽象类当中不能用static)
抽象类当中的方法可以是类属性也可以是成员属性
抽象类有构造方法,默认的是无参构造方法,但是不能用来创建对象
继承抽象类的时候,必须重写抽象类中的所有抽象方法
一个类只能继承一个抽象类
public class A{
public class B extends A{
接口(接口不是类):
public interface 类名 {}
接口是用来充当父类给子类去继承和发展的
接口中的方法必须全部是抽象方法
接口中的方法默认是public,必须是public
接口中的属性必须是公共的常量
接口中没有构造方法,不能创建对象
接口是用来充当父类给子类去扩展的一个类可以实现多个接口
public interface A{ }
public interface B{ }
public class C implements A,B {}
一个类可以先继承一个抽象类,在实现多个接口
public class A{}
public interface B{}
public interface C{}
public class D extends A implements B,C{}
相关推荐
在本段内容中,我们可以看到几个关于Java基础培训的主要知识点,这些知识点涵盖了从Java开发环境搭建到Java编程基础知识,再到图形用户界面(GUI)编程,最后到Java各种功能包的讲解。接下来,我会逐个知识点详细展开...
"JAVA基础易错总结(50%你不知道)"这份资料,由大鹏历时5个月精心原创,旨在揭示那些易被忽视或误解的Java基础知识,帮助开发者提高代码质量和效率。 首先,我们关注Java的基础语法。例如,虽然大部分开发者了解...
StringBuffer 类提供的字符串进行修改,当你知道字符数据要改变的时候你就可以使用 StringBuffer。 ### 3. int 和 Integer 的区别 Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int 是 java 的...
文档标题“java基础教程(强烈推荐)”表明本教程旨在为初学者提供Java编程语言的入门知识,强调学习过程中的趣味性和易懂性。Java是一种广泛使用的高级编程语言,由Sun Microsystems公司(现为Oracle Corporation的一...
### Java基础测试题知识点解析 #### 1. Java程序编译输出文件格式 - **知识点**: Java源程序通过编译器编译后,会生成字节码文件,这些文件的扩展名为`.class`。 - **解析**: 在Java编程中,程序员编写的源代码...
"Java基础巩固"的主题涵盖了Java语言的核心概念和技术,是准备Java面试或深化编程技能的重要资源。下面将对Java的基础知识、数据库交互、框架以及常见的面试题进行详细阐述。 一、Java基础知识 1. **语法与数据...
这份"50道java基础编程题"集合旨在帮助初学者和有经验的开发者巩固和提升他们的Java基础知识。通过解决这些题目,你可以深入理解Java语言的核心概念,包括语法、数据类型、控制结构、函数、类和对象等。 1. **数据...
以上只是Java基础面试中的一部分可能涉及到的知识点。面试者还需要关注Java新版本(如Java 8、Java 11)带来的新特性和变化,如Lambda表达式、Stream API、Optional类等。同时,良好的编程习惯、代码优化能力和问题...
本资源“java基础测试”提供了一份详细的答案参考,旨在帮助你顺利通过Java基础水平的检验。 首先,Java语言的核心特性包括面向对象、平台独立性(基于Java虚拟机JVM运行)、自动内存管理(垃圾回收机制)以及丰富...
《Java基础:构建飞机大战小游戏解析》 在编程领域,Java是一种广泛应用的编程语言,尤其在初学者中颇受欢迎。本篇文章将详细解析一个使用Java基础编写的“飞机大战”小游戏,旨在帮助初学者理解Java的基本语法和...
《你必须知道的261个Java语言问题》以问答的形式组织内容,讨论了学习或使用Java语言的过程中经常遇到的一些问题。这些问题均是在经过充分调研的基础上,从实际应用中总结出来的,是作者和众多Java开发者的经验总结...
当你知道字符数据要改变的时候你就可以使用 StringBuffer。String 类提供了数值不可改变的字符串,而 StringBuffer 类提供的字符串进行修改。 三、运行时异常与一般异常的区别 异常表示程序运行过程中可能出现的非...
Java 基础入门知识点总结 Java 是一种面向对象的高级编程语言,具有简单、面向对象、健壮、多线程、结构中立、跨平台、安全等特点。 Java 应用程序可以运行在不同的操作系统上,如 Windows、Unix、Linux 等。 Java...
在这个Java基础实战项目中,Bank项目的目标是使用集合来替换原有的数组实现,以更好地管理和表示银行与客户,以及客户与其账户之间的关系。这里主要涉及了Java集合框架中的ArrayList,以及对象属性和方法的修改。 ...
【程序 1】 经典兔子问题,也称为...以上是基于给定的Java基础练习题的详细解释,涵盖了递归、循环、数学算法、逻辑判断、字符串处理、数组操作、排序算法等多个方面。这些题目可以帮助初学者巩固基础,提高编程能力。
java基础入门第二版,针对每一个所讲解的知识点都进行了深入地分析,并使用生动形象的情境化举例,将原本复杂的、难于理解的知识点和问题进行简化,真正遵循了由浅入深、由易到难的学习过程。另外,针对每个知识点,...
Java 基础预习笔记 本文档是 Java 基础预习笔记,涵盖了 Java 的基本概念、数据类型、常量和变量、运算符、控制流语句、数组等知识点。 一、数据类型 Java 中有八种基本数据类型:byte、short、int、long、float...
"Java基础习题"是学习Java编程过程中不可或缺的部分,通过这些习题,学习者可以巩固课堂上所学的知识,加深对Java语法、概念的理解,并提高实际编程能力。黑马教程是一家知名的在线教育平台,提供了一系列高质量的...
"Java学习资料java基础"这个标题表明这是一份关于Java编程的基础学习资源,适合初学者入门或者作为复习巩固基础知识的参考资料。描述中的重复部分进一步强调了这份资料的核心内容——Java基础。 在学习Java时,以下...
这份"JAVA基础入门资料,J2SE入门资料,JAVA培训第一课,JAVA初学者资料,JAVA学习者必须知道的问题汇总"是绝佳的学习资源,涵盖了Java编程的基础知识,将帮助你快速进入Java的世界。 首先,让我们从Java的基础开始...