OOP Interview Questions

OOP: object-oriented programming. it is a paradigm that represents concepts as "objects" that have data fields and methods.


Object: it is an instance of the class.

Class: user-defined data types.

new operator: use to create an object of a class and associated the object with a variable that names it.

//Syntax
ClassName objectName = new ClassName();

File names: a file must be named the same as the class it contains with an added .java at the  end. eg. a class named MyClass must in a file named MyClass.java.



Three characters in OOP

Encapsulation: means that the data and the actions are combined into a class object, and the details of the implementation are hidden. capsule.

Inheritance: means that a general class is defined and compiled. then, more specialized versions of that class may be defined by starting with the already defined class and adding more specialized instance variables and methods. the specialized class inherit the methods and instance variables of the previously general class.

Polymorphism: is the ability of an object to take on many forms. 


Polymorphism: literally means 'a state of having many shapes' or 'the capacity to take on different forms'. In OOP, it means a language's ability to process objects of various types and classes through a single, uniform interface. It has two types: Compile time polymorphism(static binding) and Runtime polymorphism(dynamic binding). Method overloading is an example of static polymorphism, while method overriding is an example of dynamic polymorphism.


Access modifiers: private, public, protected


overriding VS overloading

overloading: within one class, you can have two or more definitions of a single method name, but different signatures.

signature: a method consists of the methods name and the list of types for parameters. Not include return type. 

overriding is happened when the method in derived class inherited from based class will be changed. 

method overriding is happened at run-time. while method overloading is happened in compile time.


abstract class VS interface

abstract class: is a class that is declared by the word abstract --it may or maynot include abstract methods. Abstract classes cannot be instantiated, but they can be subclassed. An abstract method is a method that declared without an implementation(without braces and followed by a semicolon), just with the signature. If a class            include abstract methods, then the class itself must be declared abstract.  When an abstract class is subclassed, the subclass usually provides implementation for all of the abstract methods in its parent class. However, if it does not, then the subclass must also be declared abstract.  It can include default methods, which forces all the subclasses to carry on the same hierarchies or standards.

interface: is not a class, declared by the word interface. only contain a list of methods without an implementation(only signature, definition of the method without body). A class can implement more than one interface but can only inherit from one abstract class. 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值