2020-11-21

面向对象的继承

注:

(1)子类可以调用父类的成员,但是父类不可调用子类的成员

里氏转换语法

(1)子类可以赋值给父类
目的:凡是有需要父类作为参数的地方,就用子类代替
(2)如果父类中装的是子类对象,那么可以将这个父类转换为子类对象
(3)转换时容易出错因此使用 is 或者 as来判断是否转换成功 (is 或者 as都表示类型转换)
1)is:转换成功,则返回true,失败返回flase
2)as:转换成功,则返回对应的对象,失败返回null

例:

using System;
using 类的基本语法;

namespace refs
{
    class Program
    {
        static void Main(string[] args)
        {

            //(1)子类可以赋值给父类
            //目的:凡是有需要父类作为参数的地方,就用子类代替         
            Person person = new Student();  // 实例化子类对象赋值给父类(此时父类中装的是子类对象)
            //(2)如果父类中装的是子类对象,那么可以将这个父类转换为子类对象
            //is判断转换
            if (person is Student)
            {
                Student ss = (Student)person;//强转
                ss.Stu();//调用
            }
            else 
                {
                    Console.WriteLine("转换失败");
                 }
        }
           //as判断
            Student student = person as Student ;
            student.Stu();
    }
    //父类
    public class Person
    {
        public void Per()
        {
            Console.WriteLine("我是父类");
        }
    }
    //子类
    public class Student:Person
    {
        public void Stu()
        {
            Console.WriteLine("我是子类");
        }
    }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过Java中的日期时间 `LocalDate` 和 `LocalDateTime` 来实现该功能。 首先,我们需要将时间段转换为 `LocalDateTime` 对象,然后将时间部分设置为 00:00:00 或 23:59:59,最后遍历每一天,获取每一天的开始时间和结束时间。 以下是代码示例: ```java import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; public class TimeUtils { public static void main(String[] args) { String startStr = "2020-11-20 09:09:09"; String endStr = "2021-10-09 10:10:10"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime start = LocalDateTime.parse(startStr, formatter); LocalDateTime end = LocalDateTime.parse(endStr, formatter); // 将时间部分设置为 00:00:00 或 23:59:59 LocalDateTime startOfDay = start.with(LocalTime.MIN); LocalDateTime endOfDay = end.with(LocalTime.MAX); // 遍历每一天,获取每一天的开始时间和结束时间 LocalDate startDate = startOfDay.toLocalDate(); LocalDate endDate = endOfDay.toLocalDate(); while (!startDate.isAfter(endDate)) { LocalDateTime startOfDayOfDate = startDate.atStartOfDay(); LocalDateTime endOfDayOfDate = startDate.atTime(LocalTime.MAX); System.out.println("Start time of " + startDate + ": " + startOfDayOfDate); System.out.println("End time of " + startDate + ": " + endOfDayOfDate); startDate = startDate.plusDays(1); } } } ``` 输出结果如下: ``` Start time of 2020-11-20: 2020-11-20T00:00 End time of 2020-11-20: 2020-11-20T23:59:59.999999999 Start time of 2020-11-21: 2020-11-21T00:00 End time of 2020-11-21: 2020-11-21T23:59:59.999999999 ... Start time of 2021-10-09: 2021-10-09T00:00 End time of 2021-10-09: 2021-10-09T23:59:59.999999999 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值