java面向对象(类、对象、属性、方法、构造、this)

*了解类和对象及其关系
*掌握定义类和创建对象
*理解构造方法的含义
对象 :用来描述客观事物的一个 实体 ,由一组属性和方法构成
属性 :对象具有的各种特征
每个对象的每个属性都有特定值;例如小红和小明的年龄,姓名不一样
方法 :对象执行的操作
:--------抽象
类是对象概括,是对象的分类
具有相同属性和方法的一组对象的集合
是概念模型,描述对象拥有的特征(属性)和行为(方法)
类与对象的关系
类是对象的描述,对象是类的个体;类是抽象的,对象是具体的;程序中由类产生对象;面向对象一共有三个特征:封装,继承,多态
-----(构造)-----> 对象 -----(使用对象)-----> 对象.方法()
面向对象编程基本步骤:定义类 构造对象 使用对象
格式
类: 【访问控制符】 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("为了更好的生活");
}

}


  • 22
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值