*了解类和对象及其关系
*掌握定义类和创建对象
*理解构造方法的含义
对象
:用来描述客观事物的一个
实体
,由一组属性和方法构成
属性
:对象具有的各种特征
每个对象的每个属性都有特定值;例如小红和小明的年龄,姓名不一样
方法
:对象执行的操作
类
:--------抽象
类是对象概括,是对象的分类
具有相同属性和方法的一组对象的集合
是概念模型,描述对象拥有的特征(属性)和行为(方法)
类与对象的关系
:
类是对象的描述,对象是类的个体;类是抽象的,对象是具体的;程序中由类产生对象;面向对象一共有三个特征:封装,继承,多态
类
-----(构造)----->
对象
-----(使用对象)----->
对象.方法()
面向对象编程基本步骤:定义类 构造对象 使用对象
格式
:
类: 【访问控制符】 class 类名{ }
属性:【访问控制符】 数据类型 变量名;
方法:【访问控制符】 void|返回值类型 方法名;
类的组成:
如何描述类:属性、方法、构造函数
实例:
package com.jredu.ch07;
/**
* 创建了一个类:狗
* @author Administrator
*
*/
public class Dog {
//属性
public String name;
//名称
public int age;
//年龄
public String color;
//颜色
public String size;
//大小
public char sex;
//性别
//方法
public void say(){
System.out.println("开始叫:汪汪汪");
}
public void eat(){
System.out.println("开始吃饭");
}
public void sleep(){
System.out.println("开始睡觉");
}
public void run(){
System.out.println("开始跑");
}
public void pee(){
System.out.println("开始撒尿");
}
//调用
public static void main(String[] args) {
Dog dog=new Dog();
dog.name="哈士奇";
dog.age=1;
dog.sex='公';
dog.color="灰色";
dog.size="中型犬";
System.out.println(dog.name);
dog.eat();
dog.sleep();
}
}
构造对象
格式:类名 对象=new 类名();
例如:Person pobj=new Person();
内存结构:
对象的使用:
对象.属性-------实例中
绿色
标注属性定义及属性调用
对象.方法-------实例中
粉红色
标注创建方法及方法调用
package com.jredu.ch07;
public class HuLuWa {
public String name;
public String color;
public String skill;
public void eat(){
System.out.println("吃吃吃");
}
public void say(){
System.out.println("还我爷爷");
}
public static void main(String[] args) {
HuLuWa dawa=new HuLuWa();
//创建对象
dawa.name="大娃";
dawa.color="红色";
dawa.skill="翻天覆地、力大无穷";
System.out.println(dawa.name);
System.out.println(dawa.color);
System.out.println(dawa.skill);
dawa.say();
dawa.eat();
}
}
构造函数
格式:
public 类名(参数列表){
}
特点:1.与类名同名
2.没有返回值
默认情况下,创建一个类后,系统自动会创建一个无参构造函数,但此时构造函数是省略的,当创建有参函数后,系统会删除无参函数,这时,你需要重新创建无参函数。
public HuLuWa(){ }
构造函数是隐含的
构造函数作用1.初始化,创建对象
2.在创建对象时,可以预先给属性赋值
无参构造函数
,系统会给每一个类创建的构造函数,默认构造函数没有参数,括号里为空
public class Person {
public String name;//姓名
public char sex;//性别
public void show(){
System.out.println("我的名字是"+name);
System.out.println("我的性别是"+sex);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p=new Person();
p.name="张三";
p.sex='男';
p.show();
}
}
this 关键字
:代指将来本类的对象
注:相同名字,this指代,颜色一样的指同一个
默认情况,变量代表离它最近的,加this后可以代指全局的
public class Person {
public String
name
;//姓名
public char
sex
;//性别
public Person(String
name
,char
sex)
{
//this 代指将来本类的对象
this.
name
=
name
;
this.
sex
=
sex
;
}
实例:有参构造函数的使用
package com.jredu.ch07;
public class JieShao {
public String name;
public int age;
public char sex;
public double tall;
public double weight;
public JieShao(String name,int age,char sex){
this.name=name;
this.age=age;
this.sex=sex;
}
public void show(){
System.out.println("大家好");
System.out.println("我叫"+name+",今年"+age+"岁");
System.out.println("我是一个身高"+tall+",体重"+weight+"的"+sex+"人");
}
public void show1(String content){
System.out.println(name+"的工作理念是:"+content);
}
public static void main(String[] args) {
JieShao m=new JieShao("阿宝", 25, '男');
m.tall=175.0;
m.weight=120.0;
m.show();
System.out.println("================================");
JieShao n=new JieShao("美美",21,'女');
n.tall=165.0;
n.weight=100.0;
n.show();
n.show1("为了更好的生活");
}
}