javaSE--基础七(面向对象)

面向对象思想

1.面向过程
	把需要完成的事情,自己一步一步的完成。
	
2.面向对象
	找一个能帮你完成事情的对象,让对象帮你做事情。
	
面向对象的特点:
	1) 对象是客观存在的事物,都可以看做对象(电脑、手机、人....)
		万物皆对象
	2) 把复杂的问题简单化
	3) 把我们从执行者,变为指挥着

类与对象的关系

类:类是对同一类具有相同属性和行为的事物的统称
	电脑类、人类...

对象:对象是类的具体体现

总结:类是对象的模板,同一个模板(),可以创造出很多个对象。

类的定义

public class 类名{
    //成员变量 - 属性
    //成员方法 - 行为
}

/*
描述电脑
	属性:品牌、颜色、价格...
	行为:打游戏、看电影...
*/
public class Computer{ 
    //成员变量 - 属性
    String brand;
    String color;
    int price;
    
    //成员方法 - 行为
    //打游戏
    public void playGame(){
        System.out.println("打游戏");
    } 
    //看电影
    public void watchMovie(){
        System.out.println("看电影");
    } 
} 

创建对象

/*
创建对象的格式:
	类名 变量名 = new 类名();
*/
public class StudentDemo{
    public static void main(String[] args){
        //创建Computer类的对象
        Computer com = new Computer();  
        
        //调用属性
        com.brand="华为";
        com.color="银灰";
        com.price=9998;     
        System.out.println(com.brand+","+com.color+","+com.price); //华为、银灰、9998
        
        //调用行为
        com.playGame():
        com.watchMoive(); 
        
        System.out.println("--------------------------");
        
        //创建Computer类的对象
        Computer com1 = new Computer();  
        
        //调用属性
        com1.brand="小米";
        com1.color="黑色";
        com1.price=7899;     
        System.out.println(com1.brand+","+com1.color+","+com1.price); //小米、黑色、7899
        
        //调用行为
        com1.playGame():
        com1.watchMoive();
    }
}

对象的内存图

在这里插入图片描述

private关键字

private关键字是私有的意思,可以用来修饰成员变量和成员方法,被private修饰的成员只能在本类中使用。

Java的封装性,通过private来体现

1.一般会把类中的成员变量用private修饰
2.然后再提供get和set方法
    public class Teacher {
        private String name;

        public void setName(String name){
            this.name=name;
        }

        public String getName(){
            return name;
        }
    }

this关键字

  • this表示本类对象,哪个对象调用方法,方法内部的this就表示哪个对象

  • 当成员变量和局部变量重名时,可以使用this来区分。

构造方法

1.构造方法的格式
	//构造方法的名称和类名相同
	public 类名(参数列表){
		
	}

2.构造方法是干什么用的?
	答:构造方法是用来创建对象的,每次new 对象构造方法都会执行。
	Student s=new Student(); //这就是在执行构造方法

3.构造方法的注意事项
	1.没有写构造方法,系统会自动补充一个空参数构造方法
	2.如果写了构造方法,系统不再补充空参数构造方法

4.构造方法中写什么代码?
	一般在构造方法中做一些初始化的操作,如果在创建对象时给成员变量赋值。

一个标准类的写法

public class Student {
    //属性:姓名、年龄...
    private String name;
    private int age;
    //空参数构造方法
    public Student() {
    }

    //在创建对象的同时,给成员变量赋值
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    //提供get和set方法,alt+insert
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
public class StudentTest {
    public static void main(String[] args) {
        //创建Student对象,空参数构造方法
        Student s1=new Student();
        //设置姓名和年龄
        s1.setName("老王");
        s1.setAge(18);

        //获取姓名
        String name = s1.getName();
        System.out.println("姓名:"+name);
        //获取年龄
        int age = s1.getAge();
        System.out.println("年龄:"+age);

        System.out.println("----------");
        //创建对象的同时,给姓名和年龄赋值
        Student s2=new Student("小王",20);
        //获取姓名
        String name2 = s2.getName();
        System.out.println("姓名:"+name2);
        //获取年龄
        int age2 = s2.getAge();
        System.out.println("年龄:"+age2);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值