1.
Write a program declaring a class Rectangle with data member’s length and breadth and
member functions Input, Output and CalcArea.
import [Link];
class Rectangle {
float length;
float breadth;
public void Input() {
Scanner scanner = new Scanner([Link]);
[Link]("Enter length: ");
length = [Link]();
[Link]("Enter breadth: ");
breadth = [Link]();
}
public void Output() {
[Link]("Length: " + length);
[Link]("Breadth: " + breadth);
}
public float CalcArea() {
return length * breadth;
}
public static void main(String[] args) {
Rectangle rect = new Rectangle();
[Link]();
[Link]();
[Link]("Area of Rectangle: " + [Link]());
}
}
OUTPUT:
1
2. Write a program to demonstrate use of method overloading to calculate area of square,
rectangle and triangle.
import [Link];
class AreaCalculator {
public float CalcArea(float side) {
return side * side;
}
public float CalcArea(float length, float breadth) {
return length * breadth;
}
public float CalcArea(float base, float height, boolean isTriangle) {
if (isTriangle) {
return 0.5f * base * height;
}
return 0;
}
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
AreaCalculator calc = new AreaCalculator();
[Link]("Enter side of square: ");
float side = [Link]();
[Link]("Area of Square: " + [Link](side));
[Link]("Enter length of rectangle: ");
float length = [Link]();
[Link]("Enter breadth of rectangle: ");
float breadth = [Link]();
[Link]("Area of Rectangle: " + [Link](length, breadth));
[Link]("Enter base of triangle: ");
float base = [Link]();
[Link]("Enter height of triangle: ");
float height = [Link]();
[Link]("Area of Triangle: " + [Link](base, height, true));
}
}
2
OUTPUT:
3
3. Write a program to demonstrate the use of static variable, static method and static block
import [Link];
class StaticDemo {
static int count;
static
{
count = 0;
}
public StaticDemo() {
count++;
}
public static void displayCount() {
[Link]("Number of objects : " + count);
}
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
StaticDemo obj1 = new StaticDemo();
StaticDemo obj2 = new StaticDemo();
StaticDemo obj3 = new StaticDemo();
[Link]();
}
}
OUTPUT:
4
4. Write a program to demonstrate concept of ``this``.
class Const
{
int a,b;
@Override
public String toString()
{
return this.a + "+" + this.b;
}
Const(int a,int b)
{
this.a=a;
this.b=b;
}
Const(int a)
{
this(a,a);
}
Const()
{
this(0);
}
};
class Main
{
public static void main(String[] args)
{
Const one=new Const(10,13);
Const two=new Const(20);
Const three=new Const();
[Link](one);
[Link](two);
[Link](three);
}
}
OUTPUT:
5
5. Write a program to demonstrate multi-level and hierarchical inheritance
//Multi-level
class Animal {
void speak()
{
[Link]("this is animal");
}
}
class Dog extends Animal {
void speak()
{
[Link]();
[Link]("Dog barks");
}
}
class Husky extends Dog {
void speak()
{
[Link]();
[Link]("Husky is trained");
}
}
public class Main {
public static void main(String[] args) {
Husky one = new Husky();
[Link]();
}
}
OUTPUT:
6
//Hierarchical
class Animal {
void speak()
{
[Link]("Animal makes a sound");
}
}
class Dog extends Animal {
void speak()
{
[Link]("Dog barks");
}
}
class Cat extends Animal {
void speak()
{
[Link]("cat meows");
}
}
public class Main {
public static void main(String[] args) {
Animal dog = new Dog();
Animal cat = new Cat();
[Link]();
[Link]();
}
}
OUTPUT:
7
6. Write a program to use super() to invoke base class constructor.
class Animal {
void speak()
{
[Link]("Animal makes a sound");
}
}
class Dog extends Animal {
@Override
void speak() {
// Using super() to call the speak method of the parent class
[Link](); // Calls Animal's speak method
[Link]("Dog barks");
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
[Link]();
}
}
OUTPUT:
8
7. Write a program to demonstrate run-time polymorphism.
class Animal {
void speak()
{
[Link]("Animal makes a sound");
}
}
class Dog extends Animal {
@Override
void speak()
{
[Link]("Dog barks");
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
[Link]();
}
}
OUTPUT:
9
8. Write a program to demonstrate the concept of aggregation.
import [Link];
class Address {
String city;
String state;
String country;
Address(String city, String state, String country) {
[Link] = city;
[Link] = state;
[Link] = country;
}
}
class Employee {
int id;
String name;
Address address;
Employee(int id, String name, Address address) {
[Link] = id;
[Link] = name;
[Link] = address;
}
public void display() {
[Link]("ID: " + id);
[Link]("Name: " + name);
[Link]("Address: " + [Link] + ", " + [Link] + ", " + [Link]);
}
}
class AggregationDemo {
public static void main(String[] args) {
Address address1 = new Address("New York", "NY", "USA");
Address address2 = new Address("Los Angeles", "CA", "USA");
Employee emp1 = new Employee(101, "John Doe", address1);
Employee emp2 = new Employee(102, "Jane Smith", address2);
[Link]();
[Link]();
}
}
10
OUTPUT:
11
9. Write a program to demonstrate the concept of abstract class with constructor and ``final``
method.
abstract class Shape
{
String name;
Shape(String name)
{
[Link] = name;
}
abstract void draw();
final void display() {
[Link]("This is a shape: " + name);
}
}
class Circle extends Shape {
Circle() {
super("Circle");
}
@Override
void draw() {
[Link]("Drawing a Circle");
}
}
public class AbstractDemo {
public static void main(String[] args) {
Circle circle = new Circle();
[Link]();
[Link]();
}
}
OUTPUT:
12
10. Write a program to demonstrate the concept of interface when two interfaces have unique
methods and same data members
abstract class Shape
{
String name;
Shape(String name)
{
[Link] = name;
}
abstract void draw();
final void display() {
[Link]("Shape is : " + name);
}
}
class Circle extends Shape {
Circle() {
super("Circle");
}
@Override
void draw() {
[Link]("Drawing a Circle");
}
}
public class AbstractDemo {
public static void main(String[] args) {
Circle circle = new Circle();
[Link]();
[Link]();
}
}
OUTPUT:
13