0.准备知识
java中的文件都是.java为扩展名的
java文件编译后变成.class字节码文件
1.类
java中的类是java的最基础逻辑单位
类的构成:1.方法 2.变量
类可以继承:子类可以继承父类所有内容(不能直接访问private成员)
一个java文件可以有多个class但是最多只能有一个public class
Java所有的内容都是需要放在类的范围中,内容不允许游离在类之外
2.main函数
public static void main(String[] args)
程序的入口都是main函数,没有main函数不能主动执行
main函数的形参args是外界提供给main函数的参数,可以在main函数中使用。
3.类中的函数
重载:同一个类中,函数名称可以相同,即重载函数(overload),但是函数参数的个数或者类型必须有所不同
4.面向对象OO(Oriented Object)
对象=属性+方法。
对象是一个变量(具体的东西);!!!类每新生成一个对象就会给予一个新的内存地址!!!所以没有两个对象是完全一样的!!!
this负责指向本类中的字段(在实现类中方法的时候用this来引用方法外,类内的对象)
下面这个例子中每次新建一个point对象java就会给point对象分配一个地址!!!即使其中的内容是相同的。数据是相等的,两个对象也是不相等的,因为assert断言判断对象是否相等的时候是根据地址判断的!!!
public class Point {
private final double x;
private final double y;
public Point(double x, double y) {
this.x = x;
this.y = y;
}
public double x() {
return x;
}
public double y() {
return y;
}
public boolean equals(Object o) {
if(o==null|| !(o instanceof Point ))
return false;
Point co=(Point) o;
if(co.x==this.x&&co.y==this.y)
return true;
return true;
}
}
points.clear();
for(Point fuckyou : )
for(Point shit : points)
{
System.out.println(shit.x());
System.out.println(shit.y());
}
信息隐藏原则:
1.类成员是私有private的
2.get和set方法是公有public的,统称为getter和setter
3.外界对类成员的操作只能通过get和set方法
5.构造函数
java每个类都必须有构造函数。不写的话系统会自动分配一个空的构造函数
一个类可以有多个构造函数。在new的时候根据实参和形参进行匹配。
java只有构造函数没有析构函数