类的基本概念
关于public class,这个public是为了方便能被外部的包导入引用。
Point p = new Poiont();
+ 程序执行的以后父类构造方法会优先于子类执行
public class A extends B{
}class B {
public B(String name){
System.out.println("this constructor is invoked");
}
其中A没有构造函数,实例化后编译时A会执行B的带参数构造函数,编译报错。
关于super,super()。
package Temp;
class A {
int x = 6;
private int y = 2;public A(int a) { x = a; } int getz() { int z; z = x / y; return z; } void show() { System.out.println("x=" + x); System.out.println("y=" + y); System.out.println("z=" + getz()); }
}
class B extends A {
int x = 3, y = 5, z;public B(int a) { super(a); } int getz() { z = x + y; return z; }
}
public class Temp {
public static void main(String[] args) {
A num1 = new A(10);
B num2 = new B(9);
num1.show();
num2.show();
}
}
重写是指子类重新重新覆盖父类相同参数签名的方法,重写代码的逻辑块。
重载是指方法名相同但参数类型、个数、顺序不同,与返回值无关;调用重载方法,我们通过重载方法参数但匹配来动态绑定方法。
主函数如下:
import javax.swing.JFrame;
import paint.MyCanvas;
public class HelloWorld {
JFrame jFrame;
public static void main(String[] args) {
// TODO 自动生成的方法存根
HelloWorld paintMain=new HelloWorld();
paintMain.initView();
}public void initView() { jFrame =new JFrame(); jFrame.setBounds(100, 100, 500, 500); jFrame.setTitle("画图测试"); jFrame.setLayout(null); MyCanvas myCanvas=new MyCanvas();//画布 myCanvas.setBounds(0,0, 500, 500); jFrame.add(myCanvas); jFrame.setVisible(true); }
}
MyCanvas类如下:
package paint;
import java.awt.Canvas;
import java.awt.Graphics;public class MyCanvas extends Canvas{
@ Override
public void paint(Graphics g) {
// TODO 自动生成的方法存根
super.paint(g);//直接输入paint提示出来函数;
char[] a= {'显','示','文','字'};
g.drawChars(a, 0, 4, 50, 150);// data数组,offset为数据初始偏移量,length为要绘制的字符数,x,y文本基线的xy坐标,
g.drawString("字符测试01", 20, 20);// 注意,字符串型的x,y在字符中,而不是左上顶点;}
}
public abstract void drawLine(int x1,int y1,int x2,int y2)
在此图形上下文的坐标系中,使用当前颜色在点 (x1, y1) 和 (x2, y2) 之间画一条线
参数:
x1 - 第一个点的 x 坐标。
y1 - 第一个点的 y 坐标。
x2 - 第二个点的 x 坐标。
y2 - 第二个点的 y 坐标。
public void drawRect(int x,int y, int width, int height)
绘制指定矩形的边框。矩形的左边缘和右边缘分别位于 x 和 x + width。上边缘和下边缘分别位于 y 和 y + height。使用图形上下文的当前颜色绘制该矩形。
参数:
x - 要绘制矩形的 x 坐标。
y - 要绘制矩形的 y 坐标。
width - 要绘制矩形的宽度。
height - 要绘制矩形的高度。
public abstract void drawOval(int x, int y,int width, int height)
绘制椭圆的边框。得到一个圆或椭圆,它刚好能放入由 x、y、width 和 height 参数指定的矩形中。
椭圆覆盖区域的宽度为 width + 1 像素,高度为 height + 1 像素。
参数:
x - 要绘制椭圆的左上角的 x 坐标。
y - 要绘制椭圆的左上角的 y 坐标。
width - 要绘制椭圆的宽度。
height - 要绘制椭圆的高度。
public abstract void setColor(Color c)
将此图形上下文的当前颜色设置为指定颜色。使用此图形上下文的所有后续图形操作均使用这个指定的颜色。
参数:
c - 新的呈现颜色。
public abstract void drawRoundRect(int x, int y,int width,int height,int arcWidth,int arcHeight)
用此图形上下文的当前颜色绘制圆角矩形的边框。矩形的左边缘和右边缘分别位于 x 和 x + width。矩形的上边缘和下边缘分别位于 y 和 y + height。
参数:
x - 要绘制矩形的 x 坐标。
y - 要绘制矩形的 y 坐标。
width - 要绘制矩形的宽度。
height - 要绘制矩形的高度。
arcWidth - 4 个角弧度的水平直径。
arcHeight - 4 个角弧度的垂直直径。
看看它的参数:
fillOval(int x,int y ,int width ,int height)
前两个X 和 Y是矩形框的左上角的坐标,width和height是宽和高。
int px[] = { 210, 220, 270, 250, 240 }; int py[] = { 220, 250, 300, 270, 220 }; g.drawPolygon(px, py, px.length);
g.drawString(String str, int x,int y)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。