day06学习大数据入门

day06

修饰符 本类 同一个包中的类 子类 其他类
public 可以访问 可以访问 可以访问 可以访问
protected 可以访问 可以访问 可以访问 不能访问
默认 可以访问 可以访问 不能访问 不能访问
private 可以访问 不能访问 不能访问 不能访问

package cn.tedu.day06;

package cn.tedu.day06;

/**

  • 抽象类的应用
  • 大数据基础:大数据框架
  • 共性:
  • 属性:姓名,年龄,性别
  • 行为:讲课
  • 抽象类的应用
  • 1、抽象方法,用abstract修饰,只有方法的定义,没有方法的具体实现
  • 2、抽象类,abstract修饰,包含抽象方法的类,必须是抽象类;(不包含抽象方法的类,也可以升级为抽象类)
  • 3、抽象类是不能被实例化的
  • 4、抽象类是需要被继承的,继承了抽象类的子类,要么重写所有的抽象方法;要么变普通类为抽象类
  • @author Administrator
  • 3、意义
  • 封装了子类中所共有的属性和行为:——————代码重用
  • 为所有的子类体提供一种统一的类型——————向上造型
  • 可以包含抽象方法,为所有的子类提供统一的入口
  • 扩展:
  • 设计规则,
  • 将所有的子类/派生类所共有的属性和行为,抽到父类/超类中
  • 所有的子类行为都一样,设计为普通类
  • 所有子类的行为都不一样,设计为抽象方法
    *
    */

public class AbstractDemo {

public static void main(String[] args) {

	DataBaseTeacher dat = new DataBaseTeacher();

	dat.name = "canglaoshi";

	dat.teach();

	

	DataTeacher da = new DataTeacher();
	da.name = "xiaoze";
	da.teach();
}

}

//父类

abstract class Teacher{

String name;

int age;

char gender;



//讲课
public abstract void teach();

}

class DataBaseTeacher extends Teacher{

@Override
public void teach() {
	System.out.println("基础课程" );
	
}

}

class DataTeacher extends Teacher{

String name;

@Override
public void teach() {
	System.out.println("框架");
	
}

}

package cn.tedu.day06;

/**

  • 企业中
    *项目经理
    *姓名,工号,工资,工作内容,奖金
    *程序员
    *姓名,工号,工资,工作内容
  • @author Administrator
    *
    */

public class AbstractTest {

public static void main(String[] args) {

	Staff st = new Staff();

	st.name = "小白";

	st.id = 111;

	st.salary = 8000.00;

	st.Working();

	

	Boss bs = new Boss();
	bs.name = "sb";
	bs.id = 222;
	bs.salary = 20000.00;
	bs.Working();
	bs.Jiangjin = "500";
	
	System.out.println("姓名:" + bs.name + "工号" + bs.id +"工资" + bs.salary );
}

}

abstract class Info{

String name;

int id;

double salary;



public abstract void Working();

}

class Staff extends Info{

String work;

@Override
public void Working() {
	
}

}

class Boss extends Info{

String Jiangjin;

String work1;

@Override

public void Working() {

	

}

}

package cn.tedu.day06;

public class InterfaceDemo {

public static void main(String[] args) {

	Mayun m = new Mayun();

	//Code.codeNumber

	m.code();

	m.studyCode();

}

}

interface Code{

public static final int codeNumber = 10000;



public abstract void code();

}

class LaoBan{

}

class Programmers{

public void studyCode() {

	System.out.println("敲代码");

}

}

class Mayun extends Programmers implements Code{

@Override
public void code() {
	
}

}

package cn.tedu.day06;

/**

  • 足球运动员和教练
  • 篮球运动员和教练
  • 现在足球运动员和教练去德国学习,需要学习德语
  • @author Administrator
  • 分析:从下而上
  • 1、接口不能被实例化,
  • 2、接口可以多是实现,但是继承为单继承
  • 3、接口中是可以定义方法的,方法也有固定的修饰词:public abstract
  • 4、子类必须覆盖接口中所有的抽象方法,子类才可以实例话,否则子类是一个抽象类
  • 5、接口中是可以定义变量的,但是变量有固定的修饰符:public static
  • 也称为常量,值不发生改变
  • final
  • 1、本身是一个修饰符,可以用于修饰类,成员变量,成员方法
  • 2、被final修饰的类,它是不能被继承,也不能有子类
  • 3、final修饰的类,不能被重写
  • 4、final修饰的变量,不可以被修改,是常量
    */

public class InterfaceTest {

public static void main(String[] args) {

	FootBall ft = new FootBall();

	ft.name = "pipi";

	ft.age = 20;

	ft.eat();

	ft.study();

	

	ZuqiuTeacher zqls = new ZuqiuTeacher();
	zqls.name = "wangyu";
	zqls.age = 35;
	ft.eat();
	ft.study();
}

}

abstract class Person{

String name;

int age;



public abstract void eat();
public abstract void sleep();

}

interface Study{

public abstract void study();

}

abstract class SportMan extends Person{

@Override
public void eat() {
	
}

}

class FootBall extends SportMan implements Study{

public  void learn() {
}

@Override
public void sleep() {
	// TODO Auto-generated method stub
	
}

@Override
public void study() {
	System.out.println("学习德语");
	
}

}

class BasketBall extends SportMan{

public void guanLan() {

}

@Override
public void sleep() {
	// TODO Auto-generated method stub
	
}

}

abstract class Jiaolian extends Person{

}

class ZuqiuTeacher extends Jiaolian implements Study{

@Override
public void eat() {
	// TODO Auto-generated method stub
	
}

@Override
public void sleep() {
	// TODO Auto-generated method stub
	
}

@Override
public void study() {
	// TODO Auto-generated method stub
	
}

}

class LanqiuTeacher extends Jiaolian{

@Override
public void eat() {
	// TODO Auto-generated method stub
	
}

@Override
public void sleep() {
	// TODO Auto-generated method stub
	
}

}

package cn.tedu.day06;

/**

  • static,静态变量
  • 1、由static修饰
  • 属于类中,存储在方法区中,只有一份;
  • 通过类名,来进行调用;
  • 所有的对象所共享的资源的时候(图片,视频,音频等)
  • 2、静态方法
  • static修饰:
  • 属于类,存储在方法区,只有一份
  • 通过类名,来调用
  • 何时用?方法的操作只与参数相关,但是与对象无关
  • 3、静态代码块
  • 属于类中,在类被加载期间进行自动调用,类只能被加载一次,所以静态代码块也只执行一次
  • 初始化,加载静态资源的时候调用
  • @author Administrator
    *
    */

public class Super{

 public static void main(String[] args) {

	Too t1 = new Too();

	Too t2 = new Too();

	Too t3 = new Too();

	System.out.println(t1.id + "," +t2.id + "," + t3.id + ","+Too.i);

}

}

class Too{

 int id;

 static int i = 0;

 public Too(){

	 id = i++;

	 

 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值