注意:在必要的地方添加 main 方法。
这里介绍的每一个场景都是为了通过 Java 更好地理解 OOP(面向对象编程)。
场景#1:
预期理解:访问修饰符、单一继承、getter 方法、构造函数重载
1) 创建一个名为“Trainer”的类。
– 有默认实例变量 String dept, Institute
– 为它们分配值 – “Java”, “Payilagam”
– 拥有私有实例变量 int salary
– 指定 10000 作为工资值。
– 创建工资的 getter 方法。
– 具有实例方法training(),返回数据类型为void
– 在training()方法中添加打印语句
2) 在“Trainer”下创建子类“SQLTrainer”。
– 里面有main方法。
– 为该类创建实例内存
– 使用适当的超类构造函数进行处理
– 访问父类实例变量
– 调用父类实例方法training()
– 在父类中使用 getter 方法获取工资
package B15; public class Trainer { String dept = "java"; String institute = "payilagam"; private int salary = 10000; Trainer(String dept, String intitute) { this.dept = dept; this.institute = institute; } public static void main(String[] args) { Trainer trainerkumar = new Trainer("cse", "payilagam"); String a = trainerkumar.traing(); trainerkumar.salary(); System.out.println(a); } public void salary() { System.out.println("salary = " + salary); } public String traing() { return dept + " " + institute; } }
输出:
工资=10000
cse payilagam
package B15; public class SQLtrainer extends Trainer { SQLtrainer(String dept, String intitute) { super(dept, intitute); } public static void main(String[] args) { SQLtrainer ram = new SQLtrainer("cse111", "srit"); String a = ram.traing(); System.out.println(a); ram.salary(); System.out.println(ram.dept); System.out.println(ram.institute); } }
输出
cse111 payilagam
工资=10000
cse111
帕伊拉加姆
场景#2:
预期理解:接口、类、静态变量、动态绑定
1)创建一个名为“Actor”的接口
– 具有变量 boolean makeUpRequired
– 为“makeUpRequired”分配“true”值
– 具有可变字符串地址。
– 为地址指定值“Chennai”。
– 具有 void 方法 act()、dance()、sing()
2) 使用 main 方法创建名为 ActorSivakumar 的类
– 为此类实现接口“Actor”。
– 为接口中的方法提供您自己的定义
– 有静态变量字符串地址。
– 将值分配给地址“Coimbatore”。
– 具有返回数据类型为 void 的实例方法“speaking()”。
– 为 ActorSivakumar 创建实例,如下
ActorSivakumar as = new ActorSivakumar(65, “奥迪汽车”)
– 使用正确的构造函数进行处理
– 访问 ActorSivakumar 类的所有方法
– 访问变量地址并打印值
– 使用动态绑定方法创建接口“Actor”的另一个实例
演员 ac = new Sivakumar();
– 使用正确的构造函数进行处理
– ActorSivakumar 类中的访问方法。
– 使用‘ac’实例访问变量地址并打印值
– 观察并记下两个实例之间的差异
package B15; public class Trainer { String dept = "java"; String institute = "payilagam"; private int salary = 10000; Trainer(String dept, String intitute) { this.dept = dept; this.institute = institute; } public static void main(String[] args) { Trainer trainerkumar = new Trainer("cse", "payilagam"); String a = trainerkumar.traing(); trainerkumar.salary(); System.out.println(a); } public void salary() { System.out.println("salary = " + salary); } public String traing() { return dept + " " + institute; } }
package B15; public class SQLtrainer extends Trainer { SQLtrainer(String dept, String intitute) { super(dept, intitute); } public static void main(String[] args) { SQLtrainer ram = new SQLtrainer("cse111", "srit"); String a = ram.traing(); System.out.println(a); ram.salary(); System.out.println(ram.dept); System.out.println(ram.institute); } }
输出:
西瓦库玛正在表演
西瓦库玛正在讲话
西瓦库玛在跳舞
西瓦库玛在唱歌
65
奥迪车
西瓦库玛正在表演
西瓦库玛在跳舞
西瓦库玛在唱歌
哥印拜陀
钦奈
是的
场景#3:
预期理解:抽象、继承、return 关键字、方法参数、构造函数
1)创建一个名为“SmartPhone”的抽象类
– 添加以下抽象方法
– int 调用(int 秒)
– void sendMessage()
– void receiveCall()
– 添加非抽象方法 void browser()
– 在 browser() 方法定义中打印“智能手机浏览”
– 具有如下构造函数。
公共智能手机()
{
System.out.println(“正在开发的智能手机”);
}
2) 创建名为“FactoryDemo”的类作为 SmartPhone
的抽象子类
– 添加以下抽象方法
– void verifyFingerPrint()
– void ProvidePattern()
– 添加非抽象方法 void browser()
– 在 browser() 方法定义中打印“工厂演示浏览”
– 添加变量 boolean isOriginalPiece 并指定“false”作为值。
– 添加静态变量 int Price 并将值设置为 0.
3) 创建名为“Samsung”的类,其 main 方法作为 FactoryDemo 的子类。
– 添加未实现的方法
– 添加静态变量 int Price 并将值设置为 5000。
– 为名为 sam
的 Samsung 类创建实例
– 使用 sam 实例访问 browser() 方法。
– 使用 sam 实例访问价格变量。
– 观察调用了哪个方法并记下。
package B15; public interface Actor { boolean makeupRequired = true; String address = "chennai"; void act(); void dance(); void sing(); }
package B15; public class ActorSivakumar implements Actor { static String address = "coimbatore"; int num; String car; public ActorSivakumar(int num, String car) { this.num = num; this.car = car; } public static void main(String[] args) { ActorSivakumar as = new ActorSivakumar(65, "Audi car"); Actor ac = new ActorSivakumar(55, "benz car");// dynamic binding as.act(); as.speaking(); as.dance(); as.sing(); as.sell(); // ac.speaking();//dynamic binding ac.act(); ac.dance(); ac.sing(); // ac.sell();//dynamic binding System.out.println(ActorSivakumar.address); System.out.println(Actor.address); System.out.println(as.makeupRequired); } public void sell() { System.out.println(num + "\n" + car); } public void speaking() { System.out.println("sivakumar is speaking"); } public void act() { System.out.println("sivakumar is acting"); } public void dance() { System.out.println("sivakumar is dancing"); } public void sing() { System.out.println("sivakumar is singing"); } }
package B15; public abstract class Smartphone { public Smartphone()// constructor { System.out.println("Smartphone under development"); } public abstract int call(int second); public abstract void sendMessage(); public abstract void receivecall(); public void browse() { System.out.println("smartphone browsing"); } }
输出:
正在开发的智能手机
FactoryDemo浏览
指纹
提供模式
接听电话
b = 100
价格 = 5000
以上是方案 - ,3的详细内容。更多信息请关注PHP中文网其他相关文章!