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

JSP网站建设系统关键字搜索引擎

JSP网站建设系统,关键字搜索引擎,网站直播用php怎么做的,手机网站被禁止访问怎么打开今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、作业 二、继承 三、重写 四、this和super 五、访问修饰符 零、 复习昨日 局部变量和成员变量什么区别 位置,作用域,初始值,内存位置,生命周期 构造方法…

今日内容

上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili
同步笔记沐沐霸的博客_CSDN博客-Java2301
零、 复习昨日
一、作业
二、继承
三、重写
四、this和super
五、访问修饰符

零、 复习昨日

局部变量和成员变量什么区别
位置,作用域,初始值,内存位置,生命周期

构造方法什么作用
作用: 创建对象

有参无参构造什么区别
无参构造方法: 创建出的对象的属性是默认值
有参构造方法: 创建出的对象的属性是指定值

public Student(String name,int age){this.name = name;this.age = age;
}

创建对象的过程(new Student()或者说new Student(int age,String name))

  1. 在堆中开启空间,分配地址值
  2. 属性和方法被初始化默认值
  3. 然后执行构造方法内部的代码
  4. 对象创建成功,将地址值赋值给变量(对象名)

this是什么
this代表当前对象,调用属性和方法

类封装的步骤

  1. 私有化属性
  2. 给每个属性提供对应的set get方法

一、作业

老师类
学生类
老师带1个学生    
/*** --- 天道酬勤 ---* @author QiuShiju* @desc  null就是没有,就是空引用,就是空对象,就是没有对象的意思*  自定义类型赋值就是创建对象,将地址值赋值给变量,*  例如, 自己定义类Worker, 有一个变量 Worker worker,要给worker赋值就new Worker();*/
class Student {String name;String stuNo;
}public class Teacher {String name;int age;Student student;
}class TestTeacher {public static void main(String[] args) {Teacher teacher = new Teacher( );// 给老师内学生类型属性赋值teacher.student = new Student();String name = teacher.student.name;System.out.println(name );teacher.student.name = "海中";String name2 = teacher.student.name;System.out.println(name2 );}
}
老师类
学生类
老师带了很多学生    
把学生存倒数组中 Student[] stus = new Student[6];
class Student {String name;String stuNo;public Student(){}public Student(String name,String stuNo){this.name = name;this.stuNo = stuNo;}
}public class Teacher {String name;int age;// 老师内有一个学生// Student student;// 老师内有多个学生/*** 这是数组,只不过是装学生的数组* 只是创建时指定了长度,没有指定值* 这个数组创建后默认值是3个null*/Student[] stuArr = new Student[3];
}
class TestTeacher {public static void main(String[] args) {Teacher teacher = new Teacher( );// 从老师对象中取出学生数组// 从数组中取出第1个元素,是null// null.name 就会报错空指针(空引用,空对象)异常// String name = teacher.stuArr[0].name;// 先向数组存储学生对象teacher.stuArr[0] = new Student("影流之主","111");teacher.stuArr[1] = new Student("疾风剑豪","222");teacher.stuArr[2] = new Student("盖伦","333");// 再取出值System.out.println(teacher.stuArr[0].name );}
}

全封装之后的效果(Student,Teacher类封装)

package com.qf.homework;
class Student {private String name;private String stuNo;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getStuNo() {return stuNo;}public void setStuNo(String stuNo) {this.stuNo = stuNo;}public Student(){}public Student(String name,String stuNo){this.name = name;this.stuNo = stuNo;}}public class Teacher {private String name;private int age;// 老师内有多个学生private Student[] stuArr = new Student[3];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 Student[] getStuArr() {return stuArr;}public void setStuArr(Student[] stuArr) {this.stuArr = stuArr;}
}class TestTeacher {public static void main(String[] args) {Teacher teacher = new Teacher( );Student[] stuArr = new Student[3];stuArr[0] = new Student("影流之主","111");stuArr[1] = new Student("疾风剑豪","222");stuArr[2] = new Student("德玛西亚","333");teacher.setStuArr(stuArr);//Student[] stuArr1 = teacher.getStuArr( );//Student student2 = stuArr1[2];//String name = student2.getName( );String name = teacher.getStuArr( )[2].getName( );System.out.println(name);}
}

二、继承[重点]

2.1 介绍

生活中的继承: 子辈可以使用(继承)父辈的资源

程序中的继承: 子类可以使用父类的属性和方法

好处:

  1. 可以使代码复用
  2. 可以开发效率
  3. 是多态的前提

2.2 语法

类继承另一个类语法

public class A extends B {}

读做: A类继承B类,A类是B类的子类,B类是A类的父类


继承特点:

  1. 继承后子类可以使用父类的属性和方法
  2. 不能多继承,只能单继承
  3. 支持层次继承(A --> B --> C)


继承中属性的问题

  1. 子类可以使用父类的非私有的属性
  2. 父类不可以使用子类的属性
  3. 如果子类和父类有相同的属性,默认使用子类自己的属性

继承中方法的问题

  1. 子类可以使用父类非私有的方法
  2. 父类不可以使用子类的方法
  3. 如果子类和父类有相同的方法,默认使用子类自己的方法 (详细内容下集(重写)分解)

继承中构造方法的问题

  1. 构造方法都不能被直接调用
  2. 子类构造方法执行,会先调用父类的构造方法,因为子类构造方法内有隐藏的super()调用父类的无参构造,且必须放在构造方法第一行
  3. 即创建子类对象时,会先创建父类对象再创建子类对象

练习: Dog,Cat 继承 Animal

​ Teacher,Student,Worker 继承 People

2.3 继承中创建对象的过程

  1. 先执行父类构造方法,在堆中为开启空间,分配地址值

  2. 为父类的属性和方法 初始化默认值

  3. 然后执行父类构造方法内部的代码


  4. 然后再初始化子类属性和方法,初始化默认值

  5. 然后执行子类构造方法内代码

  6. 创建对象完成,将子类引用赋值对象名

对照PDF6中的T8练习

三、重写

重载Overload
重写OVerride

  1. 重写是发生在继承中,子父类中
  2. 重写要求子类重写父类方法
  3. 要求: 访问修饰符,返回值类,方法名,参数列表完全和父类一样
    方法体内的代码,可以不一样
  4. 一般重写后,子类的方法上都会有一个@Override
     @Override // 这是重写的标记,告诉程序这个方法是重写父类的public void eat() {System.out.println("狗吃骨头");}

为什么要有重写?自己创建一个方法不行吗?非得重写?

父类的方法不适合用于子类,子类就需要重写. (白话: 在父类方法的基础上,将方法改造成适合自己的)

四、this和super

this是当前对象
this调用对象的属性 this.属性
this调用对象的方法 this.方法
this调用自己的构造方法 this() 调用自己无参构造,this(参数) 调用自己有参构造


super是父类对象,可以调用父类的属性 super.属性
调用父类方法 super.方法();
特殊的,也可以放在构造方法中调用父类的构造方法super()调用父类无参构造,super(参数)调用父类有参构造

thissuper
属性
方法
构造方法

五、练习

PDF6 , T15 见课件代码。。。

六、访问修饰符

访问修饰符,也叫做访问限定符,访问控制符,其实就是控制权限
控制着类,属性,方法以及构造方法的访问权限(在不同的位置能不能使用)
访问修饰符有4个
public , protected , 缺省(默认) , private

当前类当前包其他类不同包的子类不同包非子类
public
protected自己调用自己的属性不行;子类对象可以调用×
默认(package)××
private×××

访问修饰符可访问的范围: public > protected > package > private

七、作业

PDFT17

http://www.ritt.cn/news/3893.html

相关文章:

  • 任县网站建设服务价格腾讯第三季度营收448亿元
  • 详情页尺寸一般是多少新手怎么做seo优化
  • wordpress按钮字体优化网站排名技巧
  • 用html网站登录界面怎么做seo零基础入门到精通200讲
  • 高档网站建设网址之家
  • 沈阳市城乡建设局网站b站黄页推广软件
  • 安徽建设监理协会win10最强优化软件
  • 网站怎么查建设银行卡号网站秒收录
  • 门户网站编辑联系方式西安seo排名外包
  • 网站建设包括啥免费外链发布
  • 镇江网站开发谷歌sem和seo区别
  • 湛江怎样建设自己的网站拉新推广怎么找渠道
  • 楼盘信息在哪里能查到优化seo排名
  • 网站帮忙备案站长统计app官方网站
  • 中山网站快照优化公司公司企业网站制作需要多少钱
  • 三台建设局网站百度搜索广告价格
  • vb.net网站开发手游推广个人合作平台
  • 自己建个网站做优化网站软文推广网站
  • 织梦和wordpress哪个seo好百度热搜关键词排名优化
  • 制作个人网页详细教程福州seo推广外包
  • 西安专业建网站推广app赚钱
  • 建网站公司郑州山西seo排名厂家
  • 网站焦点图怎么做链接广东整治互联网霸王条款
  • 中国东方营销网站深圳百度竞价推广
  • 网站分站代理加盟合肥网络公司seo
  • 自己给公司做网站快速排名工具免费查询
  • 上海千家美装饰公司地址seo优化百度技术排名教程
  • 国外产品代理网关键词排名优化怎么做
  • 国内做网站大公司windows优化大师怎么样
  • 企业网站建设一般考虑哪些因素代写平台在哪找