JavaSE之面对对象基础

/**
* 面对对象基础
* 程序:为了模拟现实世界,解决现实问题而用计算机语言编写的指令集合
* 面对对象思想:万物皆对象
* 对象特性:都有自己的特征(属性)和行为(方法)
* 局部变量:存放在方法内部;无默认值,不允许重名 有效期:从定义行到包含其结构
* 事例变量:类的内部,方法外部;字面值,不允许与实例变量重名,可与局部变量重名,局部变量优先
* 作用域:属性的有效范围;在不同属性的作用域产生交集时;在交集处作用域小的优先于作用域大的
*/
 1 public class Test {
 2     //1、类的叙述,对象的创建,以及方法调用
 3     public static void main(String[] args) {
 4         Dog mydog = new Dog();    //基于Dog类创建对象mydog
 5         //访问属性
 6         mydog.name = "哈士奇";   //姓名
 7         mydog.age = 2;    //年龄
 8         mydog.sex = "公";    //性别
 9         //     \n :换行符      \t : 空格符
10         System.out.println(mydog.name+"\n"+mydog.age+"\n"+mydog.sex);
11         //调用方法
12         mydog.eat();
13     }
14 }
15 //一个简单的类  Dao:类名
16 class Dog{
17     //特征:属性
18     String  name;   //姓名
19     Integer age;    //年龄
20     String  sex;    //性别
21     //eat:行为(方法)
22     public void eat(){
23         System.out.println("eating...");
24     }
25 }

 



//2、方法重载:一个类中定义多个相同名称的方法
// 重载要求:方法名相同;
// 参数列表不同(类型、个数、顺序);
// 与返回修饰符,返回值无关
//例如:人对象的“吃”方法:吃饭,吃药,吃口香糖的过程就存在差异
 1 class Person{
 2     public void eat(int a,int b) {
 3         //吃饭过程:把食物放入口中,咀嚼,咽下
 4         System.out.println("相加结果为:"+(a+b));
 5     }
 6     public void eat(int a,int b,int c) {
 7         //吃药过程:把药物放入口中,喝水,咽下
 8         System.out.println("相加结果为:"+(a+b+c));
 9     }
10     public void eat(int a,int b,int c,int d) {
11         //吃口香糖过程:把口香糖放入口中,咀嚼,吐出
12         System.out.println("相加结果为:"+(a+b+c+d));
13     }
14 }

 



//3、构造方法:类中的特殊方法;主要用于创建对象
// 特点:名称与类名完全一致;
// 没有返回值类型
// 创建对象时,触发构造方法的调用,不可通过句点手动调用
// 构造方法: 分为无参构造和有参构造;默认提供无参构造
// 构造方法重载:构造方法也可以重载,遵循重载规则
 1 class Student{
 2     private Integer id;       //id
 3     private String name;      //名字
 4     private Integer age;      //年龄
 5     private String sex;       //性别
 6     private Date  birthday;   //生日
 7     //无参构造
 8     public Student(){}
 9     //有参构造
10     public Student(Integer id, String name, Integer age, String sex, Date birthday) {
11         //this:类中的默认引用,代表当前实例
12         this.id = id;
13         this.name = name;
14         this.age = age;
15         this.sex = sex;
16         this.birthday = birthday;
17     }
18 }

 

posted @ 2021-04-17 09:57  夜景&  阅读(72)  评论(0)    收藏  举报