重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
可运行的:
十多年的巴南网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整巴南建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“巴南网站设计”,“巴南网站推广”以来,每个客户项目都认真落实执行。
import java.awt.*;
import java.awt.event.*;
public class BackJFrame extends Frame{
public BackJFrame(){
super("台球");
setSize(300,300);
setBackground(Color.cyan); //背景
setVisible(true);
addWindowListener(new WindowAdapter()
{
public void windowClosing (WindowEvent e)
{System.exit(0);}
} );
}
public static void main(String args[]){
new BackJFrame();
}
}
措施一:改写类的实例方法
通过类继承实现代码重用不是精确的代码重用技术,因此它并不是最理想的代码重用机制。换句话说,如果不继承整个类的所有方法和数据成员,我们无法重用该类里面的单个方法。继承总是带来一些多余的方法和数据成员,它们总是使得重用类里面某个方法的代码复杂化。另外,派生类对父类的依赖关系也使得代码进一步复杂化:对父类的改动可能影响子类;修改父类或者子类中的任意一个类时,我们很难记得哪一个方法被子类覆盖、哪一个方法没有被子类覆盖;最后,子类中的覆盖方法是否要调用父类中的对应方法有时并不显而易见。
任何方法,只要它执行的是某个单一概念的任务,就其本身而言,它就应该是首选的可重用代码。为了重用这种代码,我们必须回归到面向过程的编程模式,把类的实例方法移出成为全局性的过程。为了提高这种过程的可重用性,过程代码应该象静态工具方法一样编写:它只能使用自己的输入参数,只能调用其他全局性的过程,不能使用任何非局部的变量。这种对外部依赖关系的限制简化了过程的应用,使得过程能够方便地用于任何地方。当然,由于这种组织方式总是使得代码具有更清晰的结构,即使是不考虑重用性的代码也同样能够从中获益。
题目有关回答如下,供参考:
4、this:当前对象的引用
super:当前对象的超(父)类对象的一个引用
5、继承是面向对象最显著的一个特性。
继承的意义:继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
定义继承:使用关键字 extends 来实现继承
6、多态(Polymorphism)按字面的意思就是“多种状态”,也是面向对象的一个特性。
允许将子类类型的引用赋值给父类类型的引用。
7、代码如下:
/**
* 父类(图形)
*
* @author qd
*
*/
abstract class Figure {
double area;
}
/**
* 求面积的接口
*
* @author qd
*
*/
interface Area {
public void getArea();
}
/**
* 三角形
*
* @author qd
*
*/
class Triangle extends Figure implements Area {
// 底
double bottom;
// 高
double high;
public Triangle(double bottom, double high) {
super();
this.bottom = bottom;
this.high = high;
}
@Override
public void getArea() {
area = bottom * high * 0.5;
System.out.println("三角形面积是:" + area);
}
}
/**
* 正方形
*
* @author qd
*
*/
class Square extends Figure implements Area {
// 边长
double length;
public Square(double length) {
super();
this.length = length;
}
@Override
public void getArea() {
area = length * length;
System.out.println("正方形面积是:" + area);
}
}
/**
* 圆
*
* @author qd
*
*/
class Circular extends Figure implements Area {
// 半径
double radius;
public Circular(double radius) {
super();
this.radius = radius;
}
@Override
public void getArea() {
area = Math.PI * radius * radius;
System.out.println("圆面积是:" + area);
}
}
public class Test {
public static void main(String[] args) {
// 三角形对象
Area triangle = new Triangle(3, 4);
triangle.getArea();
// 正方形对象
Area square = new Square(4);
square.getArea();
// 圆对象
Area circular = new Circular(2);
circular.getArea();
}
}
8、代码如下:
/**
* 球类
*
* @author qd
*
*/
class Ball {
// 私有成员变量半径
private double r;
public double getR() {
return r;
}
public void setR(double r) {
this.r = r;
}
}
/**
* 台球
*
* @author qd
*
*/
class Billiards extends Ball {
// 私有成员变量颜色
private String color;
public void setColor(String color) {
this.color = color;
}
// 输出信息
public void printMess(Billiards billiards,Ball ball) {
System.out.println("台球的颜色是:" + billiards.color + " 台球的半径是:" + ball.getR());
}
}
/**
* 公有测试类
*
* @author qd
*
*/
public class TestBall {
public static void main(String[] args) {
Ball ball = new Ball();
ball.setR(5);
Billiards billiards = new Billiards();
billiards.setColor("白色");
billiards.printMess(billiards,ball);
}
}
7题和8题测试如下:
第一个:
public class Yaojing {
protected String name;
protected int age;
protected String gender;
public void showBasicInfo() {
System.out.println(toString());
}
public void eatTangSeng() {
System.out.println("吃饱了");
}
@Override
public String toString() {
return "Yaojing [name=" + name + ", age=" + age + ", gender=" + gender + "]";
}
}
第二个类
public class Zhizhujing extends Yaojing {
public void buildNet(){
System.out.println("蜘蛛在织网");
}
}
第三个类
public class Baigujing extends Yaojing {
public void beBeauty(){
System.out.println("白骨精");
}
}
class Point{
private int x, y;
//get / set
public Point(){
}
public Point(int x, int y){
this.x=x; this.y=y;
}
}
继承就是再extends Point、并添加相应的方法、属性
在 java中,用一个类同时继承一个类和实现一个接口代码如下:
class Pigeon extends Bird implements Flyanimal
{ public void fly()
{
System.out.println("pigeon can fly");
}
public void egg()
{
System.out.println("pigeon can lay eggs ");
}
}
类继承:继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。
接口实现:接口实现在java中是一种特殊继承方式,接口在定义后,就可以在类中实现该接口,在类中实现接口可以使用关键字implement。
创建父类:
class Bird {
int legnum = 2; void egg() { };}
定义接口:
interface Flyanimal
{
void fly();
}