java面向对象

汽车图纸类:

1、java的类有两部分组成:a、静态的属性  b、动态的方法

2、访问权限   public private protected

3、构造方法:作用是实例化 、new的时候调用

4、普通方法(有参、无惨、访问权限、返回值类型)

package car;

public class PikaCarTuzhi {
    /**
     * 静态的属性
     * public 、 private 、protected  访问权限
     * 访问权限不写,默认是protected
     */
    public String color;
    private String size;
    protected String shape;
    String glcount;

    /**
     * 方法:
     * 构造方法:无参构造方法
     * 作用:实例化这个类的时候用、new的时候会调用构造方法
     */
    public PikaCarTuzhi() {

    }

    /**
     * 有参构造方法
     * @param color
     */
    public PikaCarTuzhi(String color)  {
        System.out.println(this.color);
    }

    /**
     * 普通方法:
     */
    public void run() {

    }

    
    private void music(String category) {

    }

    void kongtiao(String kaiguan) {

    }
}

有图纸以后,送到工厂(Factory)中生产

package car;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class PikaCarFactory {
    /**
     * 静态代码块
     * 优先执行
     */
    {
        String name = "abc";

    }

    public static void main(String[] args) {//main是程序的入口

        PikaCarTuzhi car1 = new PikaCarTuzhi();//工人根据图纸生产汽车
        PikaCarTuzhi car2 = new PikaCarTuzhi();//工人根据图纸生产汽车
        PikaCarTuzhi car3 = new PikaCarTuzhi();//工人根据图纸生产汽车
        PikaCarTuzhi car4 = new PikaCarTuzhi();//工人根据图纸生产汽车

        car1.color = "红色";
        car2.color = "白色";

        /**
         * 匿名对象
         */
        new PikaCarTuzhi();

        //子类:继承
        Zilei zilei = new Zilei();

        Date date = new Date();
        System.out.println(date);
        DateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd hh:mm:ss");
        String format = dateFormat.format(date);
        System.out.println(format);
    }
}

其中、Zilei是为了学习继承:

package car;
/**
 * Zilei继承了PikaCarTuzhi
 * 不能继承父类的私有成员
 */
public class Zilei extends PikaCarTuzhi{
    private final int age = 20;

    void test() {
//        age = 30;
    }
}

Date:Java中的时间类:

//new 出Data类的一个对象date
        Date date = new Date();
        //按照默认格式打印出当前时间
        System.out.println(date);
        //自定义输出的时间格式、注意:MM:月   mm: 分钟
        DateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd hh:mm:ss");
        //将默认格式的时间转化成自定义时间格式
        String format = dateFormat.format(date);
        System.out.println(format);

static

集体中的牛

 /**
     * 静态代码块
     * 优先执行、作用实例化
     */
    {
        String name = "abc";

    }

    /**
     * 静态static修饰的东西都是公共的
     * 静态属性
     */
    
    private static String name = "lucas";
    
    //main方法是static修饰的静态方法
    //在静态方法中只能访问静态属性
    public static void main(String[] args) {//main是程序的入口

this关键字

public String color;

 /**
     * 有参构造方法
     * @param color
     * this:指的是当前类、this.color就是颜色相同的那个
     */
    public PikaCarTuzhi(String color)  {
        //当前方法中有color,如果不写this.color ,只写color就是当前方法中的color
        System.out.println(this.color);
    }

    /**
     * 普通方法:
     */
    public void run() {
        //当前方法中没有color,不写this.color,只写color也是代表this.color
        color = "hongse";
    }

final关键字:


public final class PikaCarTuzhi {
    /**
     * 静态的属性
     * public 、 private 、protected  访问权限
     * 访问权限不写,默认是protected
     */
    public String color;
    private String size;
    protected String shape;
    String glcount;
。。。




//Zilei继承了PikaCarTuzhi
public class Zilei extends PikaCarTuzhi{   //报错

}


public class Zilei extends PikaCarTuzhi{
    private final int age = 20;

    void test() {
        age = 30;   //报错
    }
}

不能继承final修饰的父类

不能修改final修饰的变量

 

 

封装:

package study01;
/**
 * 封装的概念
 * 好处:保存数据、(从数据库中查出了多条数据------用一个集合保存多个实体类)
 * @author S
 *
 */
public class Teacher {
	private String name;
	private String gender;
	private int age;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return "Teacher [name=" + name + ", gender=" + gender + ", age=" + age + "]";
	}

	
}

多态:

声明的时候看左边

运行的时候看右边

共同的抽象父类Dayinji

package study01;

public abstract class Dayinji {
	public abstract void print();
}

实现类一(HeiBaiDayinji)

package study01;

public class HeiBaiDayinji extends Dayinji{

	@Override
	public void print() {
		System.out.println("打印黑白");
	}

}

实现类二(CaiseDayinji)

package study01;

public class CaiseDayinji extends Dayinji {

	@Override
	public void print() {
		System.out.println("打印彩色");

	}

}

运行时候能看出多态

等号左边的都一样,等号右边的不同,运行的结果看右边

        Dayinji dayinji = new HeiBaiDayinji();
		dayinji.print();
		
		dayinji = new CaiseDayinji();
		dayinji.print();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值