当前位置: 首页 > wzjs >正文

做高仿网站优秀网站设计

做高仿网站,优秀网站设计,烟台网站设计,开发公司计算实际成本含土地费的税金吗本系列为笔者学习Javase的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaAI智能辅助编程全套视频教程,java零基础入门到大牛一套通关》,章节分布参考视频教程,为同样学习Javase系列课程的同学们提供参考。 01 final 关…

本系列为笔者学习Javase的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员Java+AI智能辅助编程全套视频教程,java零基础入门到大牛一套通关》,章节分布参考视频教程,为同样学习Javase系列课程的同学们提供参考。

01 final 关键字

final关键字意为最终,其可修饰类、方法、变量。

  • 修饰类:该类被称为最终类,特点是不能被继承了
  • 修饰方法:该方法被称为最终方法,特点是不能被重写了
  • 修饰变量:特点是有且仅能被赋值一次
public class Test{//3.修饰变量不能被重赋值/*变量有哪些呢?a. 成员变量静态成员变量实例成员变量b. 局部变量*///静态成员变量 = 常量,其通常作为系统配置信息,名称全部大写public static final String SCHOOLNAME = "黑马程序员"; //实例成员变量private final String name = "孙行者";public static void main(String[] args){ //局部变量final double rate = 3.14;//rate = 3.16;}
}//1.修饰类不能被继承
final class A{}
//class B extends A{}//2.修饰方法不能被重写
class C{public final void show(){SyStem.out.println("show方法被执行");}
}class D extends C{
//    public void show(){
//        SyStem.out.println("show方法被执行");
//    }
}

注:① final修饰基本类型的变量,变量存储的数据不能被改变。

final修饰引用类型的变量,变量存储的地址不能被改变。

02 常量

Constant.java

public class Constant{public static final String SCHOOLNAME = "黑马程序员";  
} 

03 设计模式

一个问题通常有种解法,其中肯定有一种解法是最优的,这个最优的解法被人总结出来了,称之为设计模式,设计模式有20多种,对应20多种软件开发中会遇到的问题。

关于设计模式,主要学习其解决什么问题?以及怎么写?

04 单例设计模式

单例设计模式确保某个类只能创建一个对象。

在这里插入图片描述

实现步骤

  • 私有化类的构造器
  • 定义一个类变量,记住类的一个对象
  • 定义一个类方法,返回对象
public class Test{public static void main(String[] args){A a1 = A.getInstance();A a2 = A.getInstance(); //a1 = a2}
}

A.javaB.java

//饿汉式单例:拿对象时,对象早就创建好了
public class A{private static A a = new A(); //2private A(){} //1public static A getInstance(){return a; //3}
}
//懒汉式单例:拿对象时,开始创建对象了
public class B{private static B b; //2private B(){} //1public static B getInstance(){if(b == null) b = new B();return b; //3}
}

05 枚举类

A.java

public enum A {X, Y, Z;
}

反编译源码

Compiled from "A.java"
public final class A extends java.lang.Enum<A> {public static final A X = new A();public static final A Y = new A();public static final A Z = new A();public static A[] values();public static A valueOf(java.lang.String);
}

Test.java

package finaldemo;public class Test {public static void main(String[] args) {A a1 = A.X;System.out.println(a1); //toString()方法重写A a2 = A.Y;System.out.println(a2);System.out.println(a1.name()); //名称System.out.println(a2.name());System.out.println(a1.ordinal()); //索引System.out.println(a2.ordinal());}
}

在这里插入图片描述

  • 枚举类不可以被继承(final
  • 枚举类不可以创建对象(构造函数为private

枚举类适合做信息分类和标志。

在这里插入图片描述

Direction.java

public enum Direction {UP, DOWN, LEFT, RIGHT;
}

Test2.java

public class Test2 {public static void main(String[] args) {move(Direction.UP);move(Direction.DOWN);move(Direction.LEFT);move(Direction.RIGHT);}public static void move(Direction direction){switch (direction){case Direction.UP :System.out.println("向上移动");break;case Direction.DOWN :System.out.println("向下移动");break;case Direction.LEFT :System.out.println("向左移动");break;case Direction.RIGHT :System.out.println("向右移动");break;}}
}

在这里插入图片描述

06 抽象类

abstract意为抽象,修饰类作为抽象类,修饰方法作为抽象方法。

A.java

public abstract class A {//抽象方法//必须用abstract修饰,且没有方法体,只有方法声明public abstract void show();
}

B.java

public class B extends A{//具体方法@Overridepublic void show() {System.out.println("B类重写show方法");}
}
  • 抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
  • 类中有的成员抽象类也有,包括成员变量、成员方法、构造器
  • 抽象类不可以创建对象,可以被继承

注:一个类继承抽象类,必须重写完抽象类的所有抽象方法,否则该类也要被定义为抽象类。

Test.java

public class Test {public static void main(String[] args) {B b = new B();b.show();}
}

在这里插入图片描述

父类知道每个子类都会做出某个行为,但每个子类要做的情况不一样,父类就定义成抽象方法,交给子类去重写实现,目的是更好的支待多态。

Animal.java

public abstract class Animal {public abstract void cry(); //0个人关心内容
}

Cat.java

public class Cat extends Animal{@Overridepublic void cry(){System.out.println("喵喵喵");}
}

Dog.java

public class Dog extends Animal{@Overridepublic void cry(){System.out.println("汪汪汪");}
}

Test.java

public class Test {public static void main(String[] args) {//多态Animal a1 = new Cat();a1.cry();Animal a2 = new Dog();a2.cry();}
}

07 模板方法设计模式

提供一个方法作为完成某类功能的模板,该方法封装了每个实现步骤,但允许子类提供特定步骤的实现,其可以提高代码的复用性,并简化子类设计。

在这里插入图片描述

People.java

public abstract class People {public final void write(){ //final无法被重写System.out.println("大家好");writeMid();System.out.println("谢谢大家");}public abstract void writeMid();
}

Teacher.java

public class Teacher extends People{
//    public void write(){
//        System.out.println("大家好");
//        System.out.println("我系渣渣辉");
//        System.out.println("谢谢大家");
//    }@Overridepublic void writeMid() {System.out.println("我系渣渣辉");}
}

Student.java

public class Student extends People{
//    public void write(){
//        System.out.println("大家好");
//        System.out.println("我系奶龙");
//        System.out.println("谢谢大家");
//    }@Overridepublic void writeMid() {System.out.println("我系奶龙");}
}

Test.java

public class Test {public static void main(String[] args) {Student s = new Student();s.write();Teacher t = new Teacher();t.write();}}

在这里插入图片描述

http://www.dtcms.com/wzjs/321095.html

相关文章:

  • 做网站需要走哪些程序百度快速排名用什
  • 网站开发好了如何上线快速网站推广公司
  • wordpress建论坛江西短视频seo搜索报价
  • 乐清人才网官方网站网络推广服务外包公司
  • 做网站编辑要会什么电子制作网站
  • 网站开发 改进湖南网站设计
  • 网站轮播效果怎么做的广东深圳疫情最新
  • 电商网站分析报告怎么做网店怎么推广和宣传
  • 成交型网站倡导公司今天最新新闻报道
  • 安阳网站制作直通车关键词优化
  • 独立网站怎么做seoseo技术服务外包公司
  • 那种网站建设软件最好企业营销培训课程
  • 挂机宝 可以做网站今日小说排行榜
  • 建网站自学网络营销模式有哪些?
  • 陕西专业网站建设价格最新小组排名
  • 国家建设工程造价数据监测平台在哪个网站合肥建站公司seo
  • wordpress sensei插件seo做的比较好的公司
  • 网站备案到保定百度首页优化
  • 哪一家好seo网站管理
  • 针对餐饮公司推广做网站方法宁波seo网络推广主要作用
  • 山东最新疫情爆发北京seo代理公司
  • 网站页面设计布局广州新闻发布
  • 江苏建设人才网官网入口seo网站关键词排名软件
  • 官方网站建设情况说明培训机构排名全国十大教育机构排名
  • 做智能家居网站福州seo关键字推广
  • 九江建设局网站杭州seo排名优化
  • 网站数据统计怎么做关键词优化公司排名
  • 金融网站框架模板下载安装网络推广平台有哪些
  • 同仁微网站建设工作室淘宝网官方网站
  • 房地产企业网站建设网络营销策划公司