IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java封装与继承作业 -> 正文阅读

[Java知识库]Java封装与继承作业

文章目录

  1. 简述private关键字的特点?

1.可以修饰成员变量,也可以修饰成员方法,但是都只能在本类访问,外界类不能够访问
2.这些被私有修饰的成员变量,或者成员方法,可以间接通过公共方法来访问!
3.是一个权限修饰符

  1. 定义一个学生类:
    成员变量: 姓名 , 年龄
    构造方法: 无参,有参
    成员方法: 成员变量对应的getXxx和setXxx方法
    然后使用这个学生类
package org.oracle.test;

public class Student {
	private String name;
	private int age;

	public Student() {
	}

	public Student(String name, int age) {
	}

	public String getName() {
		return name;
	}

	public int getAge() {
		return age;
	}

	public void setName(String newName) {
		this.name = newName;
	}

	public void setAge(int newAge) {
		this.age = newAge;
	}

	public static void main(String[] args) {
		Student s1 = new Student();
		s1.setName("小明");
		s1.setAge(15);
		System.out.println(s1.getName());
		System.out.println(s1.getAge());
	}
}

//小明
//15

  1. 补全代码
package org.oracle.test;

public class Student {
	public void show(Student s) {
		s.method();
	}

	private void method() {
		System.out.println("哈哈...method方法被调用了....");
	}
}
package org.oracle.test;

public class StudentDemo {
	public static void main(String[] args) {
		// 在此处写代码,要求在控制台打印"哈哈...method方法被调用了...."
		Student s1 = new Student();//
		s1.show(s1);//
	}
}
  1. 继承的好处、弊端分别是什么?

子类可以使用父类的方法和属性,可以扩展
继承的好处:
1.提高了代码的复用性(多个类相同的成员可以放到同一个类里)
2.提高了代码的维护性(如果放大的代码需要修改,修改一处就行)
继承的弊端:
继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时子类实现也不得不跟着变化,削弱了子类的独立性。

  1. Java中继承的特点是什么?

1.只支持单继承,即一个子类只允许有一个父类。
2. 子类可以拥有父类的属性和方法
3. 子类可以拥有自己的属性和方法
4. 子类可以重写覆盖父类的方法
5. 可以声明父类,创建子类(又称父类装载子类)

  1. Overload(重载)和Override(重写)的区别是什么?

作用范围:重写的作用范围是父类和子类之间;重载是发生在一个类里面
参数列表:重载必须不同;重写不能修改
返回类型:重载可修改;重写方法返回相同类型或子类
抛出异常:重载可修改;重写可减少或删除,一定不能抛出新的或者更广的异常

java中“两同两小一大"原则是指重写原则。 重写 要求两同两小一大原则, 方法名相同,参数类型相同,子类返回类型小于等于父类方法返回类型, 子类抛出异常小于等于父类方法抛出异常, 子类访问权限大于等于父类方法访问权限。

  1. 编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类E。要求:
    (1) Monkey类中有个构造方法:Monkey (String s),并且有个public void speak()方法,在speak方法中输出“咿咿呀呀…”的信息。
    (2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法中输出“小样的,不错嘛!会说话了!”的信息。
    (3)在People类中新增方法void think(),在think方法中输出“别说话!认真思考!”的信息。
    (4)在主类E中创建Monkey与People类的对象类测试这2个类的功能。
package org.oracle.test;

public class Monkey {
	private String s;
	
	public Monkey() {
		
	}

	public Monkey(String s) {
		
	}

	public void speak() {
		System.out.println("咿咿呀呀…");
	}
}
package org.oracle.test;

public class People extends Monkey{
	@Override
	public void speak() {
		System.out.println("小样的,不错嘛!会说话了!");
	}
	public void think() {
		System.out.println("别说话!认真思考!");
	}
}

package org.oracle.test;

public class E {
	public static void main(String[] args) {
		Monkey m1 = new Monkey();
		People p1 = new People();
		m1.speak();
		p1.speak();
	}
}

//咿咿呀呀…
//小样的,不错嘛!会说话了!

  1. 按要求编写一个Java应用程序:
    (1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。
    (2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性,和计算体积的方法。
    (3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、宽、高,输出其底面积和体积。
package org.oracle.test;

public class Rectangle {
	private double x;
	private double y;
	
	public Rectangle() {
		
	}
	
	public Rectangle(double x, double y) {
		this.x = x;
		this.y = y;
	}


	public double Area() {
		return x * y;
	}
}
package org.oracle.test;

public class Cuboid extends Rectangle {
	private double z;
	
	public Cuboid() {
		
	}

	public Cuboid(double x, double y,double z) {
		super(x, y);
		this.z = z;
	}

	public double Volume() {
		
		return Area()* z;
	}

}
package org.oracle.test;

public class Test {
	public static void main(String[] args) {
		Cuboid c1 = new Cuboid(2,3,4);
		System.out.println("面积为"+c1.Volume());
	}
}

//面积为24.0

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-11-15 15:42:36  更:2021-11-15 15:44:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:53:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码