09-修饰符,object,抽象,接口

09-修饰符,object,抽象,接口

  • Object : java中所有类的父类(超类,基类)
    1. java.lang —> 系统默认导入
    2. toString() : 输出的是对象的地址 info
    3. equals() : 比较的是内容(重写了equals方法的作用是设置你想要的比较内容,补充协议的话比较的内存地址)
public class ObjectTest {

	public static void main(String[] args) {
		String name = "起源";
		String name2 = "起源";
		
		//创建对象
		Student s1 = new Student("可乐", 12, "男", 101);
		Student s2 = new Student("可乐", 12, "男", 101);
		System.out.println(s1);    //相当于s1.toString()
		System.out.println(s1.toString());
		System.out.println(s1==s2);      //比较的是地址
		System.out.println(s1.equals(s2));   //比较的是内容
		System.out.println(name == name2);  //比较的内容
		System.out.println(name.equals(name2));  //比较的内容	
	}
}
  • 抽象类:
    1. 如果一个类中含有抽象方法,那么这个类就一定是个抽象类
    2. 抽象类可以没有抽象方法
    3. 抽象类不可以被实例化
    4. 抽象类中有构造方法,该构造方法是给子类创建对象用的
    5. 非抽象类可以继承一个抽象类,但是必须要重写类中的抽象方法
    6. final不能修饰抽象类
  • 抽象类的语法: class关键字前加abstract
  • 抽象方法: [修饰符] abstract 返回值类型 方法名();
public abstract class AbstractDemo {
	public void m1(){
		 System.out.println("wo shi beifang  wo chi mian ");
	}
	public abstract void m2();   //抽象方法   //硬性标准   
	public AbstractDemo(){   //无参构造
	}
}
  • 接口:
    1. 语法: 修饰符 Interface 接口名{ }
    2. 接口也是引用数据类型 , 可以等同看作是一个类
      1. 接口中只能有常量,抽象方法
      2. 接口其实是一个特殊的抽象类,特殊在接口是完全抽象的
      3. 接口中没有构造方法,不能被实例化
      4. 类是单季承,但是接口与接口之间是多继承
      5. 接口与类之间多实现,一个类可以实现多个接口
      6. 实现的关键字是: implements
      7. 是一个非抽线类实现一个接口时,必须实现接口中的所有方法
public class InterfaceTest implements Inter04,Inter03,Inter02{
	@Override
	public void m1() {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void m4() {
		// TODO Auto-generated method stub
	
	}
}
package com.tz.interfacetest;
/**
 * 接口
 * @author Administrator
 *
 */
public interface Inter01 extends Inter02,Inter03,Inter04{

	public static final int A = 23;
	int b = 12;     //默认加final
	
	public void m1();
	
}
interface Inter02{
	public void m1();

}
interface Inter03{
	
	public void m1();
}
interface Inter04{
	public void m4();

}
  • 访问修饰符修饰属性和方法: 本类 同包子类 同包中其他类 不同包子类 不同其他类

    ​ public 1 1 1 1 1

    ​ protected 1 1 1 1 0

    ​ default 1 1 1 0 0

    ​ private 1 0 0 0 0

public class Father {   //父类
	
	private String name;   //被private修饰的属性只能在本类中使用
	int age;     //范围只在本包中
	protected double money;   //同包和不同的子类
	public String gender;   //公开访问	
	public void show(){	
		System.out.println("私有的:"+this.name);
		System.out.println("默认的"+age);
		System.out.println("受保护的:"+money);
		System.out.println("公开的"+gender);
	}	
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值