个人Java笔记01
Java面向对象,学习概念总结
类和对象
概念:
类:具有相同属性和方法的对象的集合。
对象:具有某种属性,且有特定方法(行为)的实体。(万物皆对象)
方法:对象的行为操作。
例子:创建一个类,其中包括该类所表示对象的基本属性和行为
package test;//包
public class Dog{//类
//特征属性:
String name;//名字
int age;//年龄
String sex;//性别
//方法,对象需要进行的操作
//例行为:吃
public void eat() {
System.out.println("狗狗爱吃狗粮");
}
}
测试类
package test;
public class Test {
public static void main(String[] args) {
Dog dog =new Dog();//无参构造器,
//构造对象:类名 对象名 =new 类名;
dog.eat();//对象的方法引用;
}
}
结果:狗狗爱吃狗粮
成员变量和局部变量
成员变量:类所表现的对象的属性;可以供对象的方法使用。
定使用时未初始化的话,有默认值,0或null
局部变量:方法中的变量,仅供该方法使用.
使用前必须初始化;
例子:
package test;//包
public class Dog{//类
//特征属性:
String name;//名字
int age=3;//年龄
String sex;//性别
//方法,对象需要进行的操作
//例行为:吃
public void eat() {
String dinner;//局部变量
int age=4;//局部变量可以和成员变量的名字相同;
System.out.println(age);
}
}
测试代码及结果:
package test;
public class Test {
public static void main(String[] args) {
Dog dog =new Dog();//无参构造器,构造对象;
dog.eat();
System.out.println(dog.age);
}
}
4
3
构造器重载
构造器:分为无参构造器和有参构造器,一般情况在创建类是会默认有一个无参构造器。
例子:
package test;//包
public class Dog{//类
//特征属性:
String name;//名字
int age=3;//年龄
String sex;//性别
public Dog() {//无参构造器(默认)
}
//构造器重载;//有参构造器
public Dog(String name,int age) {
this.name=name;
this.age=age;
}
//方法,对象需要进行的操作
//例行为:吃
public void eat() {
System.out.println("狗粮");
}
}
此时我们可以直接将对象的属性参数在new对象时直接传入。
测试:
package test;
public class Test {
public static void main(String[] args) {
//Dog dog =new Dog();//无参构造器,构造对象;
//dog.eat();
Dog dog =new Dog("旺财",3);
System.out.println(dog.name+dog.age);
}
}
结果
旺财3
方法重载
和构造器重载类似,方法名相同,参数不同或者类型不同
package test;//包
public class Dog{//类
//特征属性:
String name;//名字
int age=3;//年龄
String sex;//性别
public Dog() {//无参构造器(默认)
}
//构造器重载;//有参构造器
public Dog(String name,int age) {
this.name=name;
this.age=age;
}
//方法,对象需要进行的操作
//例行为:吃
public void eat() {
System.out.println("狗粮");
}
//方法重载
public void eat(String time,String food) {
System.out.println(food+" 进食时间:"+time);
}
测试结果:
package test;
public class Test {
public static void main(String[] args) {
//Dog dog =new Dog();//无参构造器,构造对象;
//dog.eat();
Dog dog =new Dog("旺财",3);
dog.eat();
dog.eat("傍晚", "骨头");
}
}
结果:
狗粮
骨头 进食时间:傍晚