1.内存分配
(主方法栈内存,调用的是堆内存)
2 构造方法
1.无返回值
2.类方法
3.系统可以默认构造
3.方法的重载
同一个方法名,不同的形参类型
编程实现一:
在类A中重载加法add方法,要求:在main方法中创建类A的对象a,并调用add方法分别实现两个整数求和、三个整数求和、两个double类型数据求和(数据不需要用户通过键盘输入,直接在程序中指定即可),并输出上述三种计算
class point {
int add(int x,int y,int z)
{
return x+y+z;
}
int add(int _x,int _y)
{
return _x+_y;
}
double add(double _x,double _y)
{
return _x+_y;
} //point类里含有方法
public static void main(String[] args)
{
point a=new point();
System.out.println(a.add(1,1,1));//Java自动根据参数类型匹配
System.out.println(a.add(1.0,1.0));
System.out.println(a.add(1,1));
}
}
编程实现二:
编程实现一个二维平面上点的类Point,包括下述内容:
(1)一个表示x坐标的double类型的数据域;
(2)一个表示y坐标的double类型的数据域;
(3)一个无参的构造方法;
(4)一个为x、y坐标设置初始值的有参的构造方法;
(5)一个返回当前点到原点距离的方法getDistanceToBase。
要求:利用上述Point类创建两个对象p1和p2,p1的坐标直接随便指定为2个固定值,p2的坐标由用户通过键盘输入。输出p1和p2距离原点的距离。
提示:使用下面的代码计算(x,y)距离(0,0)的距离
Math.sqrt(xx + yy)
捕获.PNG
编程实现三:
求长方体宽和高
/*(1)两个名为width和height的double型数据域,它们分别表示矩形的宽和高。width和height的默认值都为1。
(2)创建默认矩形的无参构造方法。
(3)一个创建width和height为指定值的矩形的构造方法。
(4)一个名为getArea()的方法返回这个矩形的面积。
(5)一个名为getPerimeter()的方法返回周长。
要求:定义一个Rectangle类的对象,其长和宽由用户通过键盘输入,输出该对象的长、宽、面积和周长。*/
import java.util.Scanner;
public class Rectangle {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
MyRectangle d1=new MyRectangle(2,2);
d1.width=input.nextDouble();
d1.height=input.nextDouble();
System.out.println("The area is "+d1.getArea());
System.out.println("The Perimeter is "+d1.getPerimeter());
}
}
class MyRectangle{
double width=1,height=1;
MyRectangle(){}
MyRectangle(double a,double b)
{
width=a;
height=b;
}
double getArea()
{
return (width*height);
}
double getPerimeter()
{
return (2*(width+height));
}
}
注意命名格式
1.类名首字母大写
2.方法名,属性名驼峰命名法
3.见名知意
this 关键字
就是指的当前这个它所在的对象,
this只能在方法内部使用
this不能用于静态方法。main方法也是静态的,所以this也不能用于main方法。
可以使用this关键字调用重载构造方法。避免相同的初始化代码,只能在构造方法中用,并且必须位于构造方法的第一句
今日播放列表
捕获.PNG
今日小结:
用了大概两个半小时,播放不能调倍速真的是太难受了,看视频有点煎熬,容易走神。不过老师讲的还是蛮好的,内存挺重要的,不过感觉Java比C语言简化了很多,但我理解不了我一个很可爱的老师一直鄙视Java,他说学Java的都是凡人,c++才是最好的语言哈哈哈哈哈