projected访问修饰符误区
今天在检验垃圾回收方法时,想通过对象调用finalize方法来进行垃圾回收,却未找到当前方法,发现自己在基础方向尚有欠缺。
finalize方法是被projected来修饰的,那么需要针对关键字来理解一下了。
projected访问修饰符,它能在哪些地方调用呢?
先创建一个学生类:
package com.bo.pojo;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;import java.util.List;@ConfigurationProperties(prefix = "student")
@Component
public class Student {private String name;private Integer age;private List<String> subjects;protected String temp;private Student friend;public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public List<String> getSubjects() {return subjects;}public void setSubjects(List<String> subjects) {this.subjects = subjects;}public Student getFriend() {return friend;}public void setFriend(Student friend) {this.friend = friend;}protected void outStudent(){System.out.println("我是Struent类");}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +", subjects=" + subjects +", friend=" + friend +'}';}@Overrideprotected void finalize() throws Throwable {try{//release resources hereSystem.out.println("finalize已调用");}catch(Throwable t){throw t;}finally{super.finalize();}}
}
我们看到temp属性定义的是projected访问修饰符,那么我在同一个包下的另一个类中直接访问这个属性:
package com.bo.pojo;import com.bo.annotate.DbColumn;
import com.bo.annotate.DbTable;public class Teacher {public void test(){Student student = new Student();student.temp = "1";}
}
这个时候直接访问student类的temp是不报错的,因为它们都在com.bo.pojo这同一个包下。
但如果我们换一个包下调用呢?
这个时候就没有办法直接调用了,会爆红报错。
那么在不同包下继承这个student类呢?
当然在这个继承类的方法内部就可以直接调用student.temp了。
用projected修饰的方法也是同样的道理。
projected访问修饰符误区相关推荐
- C#的访问修饰符Protected
首先,访问修饰符最常用的有 public private protected internal ...... public 和private确实很好理解,但是protected在做例子的时候我总是走入 ...
- 关于Java中各种修饰符与访问修饰符的说明
关于Java中各种修饰符与访问修饰符的说明 类: 访问修饰符 修饰符 class 类名称 extends 父类名称 implement 接口名称 (访问修饰符与修饰符的位置可以互换) 访问修饰符 ...
- java中的访问修饰符
对Java中的修饰符一直记不住,现在结合网上的一些资料进行总结,并重点说明一下protected修饰符. 一. Java中的访问修饰符 Java面向对象的基本思想之一是封装细节并且公开接口.Java语 ...
- 【译文】 C#面向对象的基本概念 (Basic C# OOP Concept) 第一部分(类,对象,变量,方法,访问修饰符)...
译文出处:http://www.codeproject.com/Articles/838365/Basic-Csharp-OOP-Concept 相关文档:http://files.cnblogs.c ...
- C# 可访问性不一致问题(修改成员的访问修饰符)。
错误实例一:父类的访问性低于子类 class Person{}public class Students:Person{} 错误实例二:方法的访问修饰符需要和参数的类型的访问修饰符一致 class P ...
- java访问修饰符详解——学java,零基础不怕,不只要理论,更要实践+项目,a href=http://www.bjweixin.com太原维信科技提供 /a...
java访问修饰符详解--学java,零基础不怕,不只要理论,更要实践+项目 <a href=http://www.bjweixin.com>太原维信科技提供 </a> pub ...
- 访问修饰符的个人理解-private与protected
一:private private --只有在声明它的类或结构中访问. 例: public class A { private string ...
- C++——类访问修饰符
类访问修饰符 数据封装是面向对象编程的一个重要特点,它防止函数直接访问类类型的内部成员.类成员的访问限制是通过在类主体内部对各个区域标记 public.private.protected 来指定的.关 ...
- .NET 基础 一步步 一幕幕 [注释、命名规则、访问修饰符、数据类型、常量、变量]...
注释.命名规则.访问修饰符.数据类型.常量.变量 话说一个不会写注释的程序猿的不是一个好吃货,我们本篇就从注释开始说起好了. 在C#中有三种注释: 第一种:单行注释 以//开头,后面的就是注释内容 ...
最新文章
- 行业研究报告基本分析思路
- amba simple class驱动_UML - 建模基础 - 用例驱动
- SD卡移植FAT32文件系统无MBR
- linux的增强文件夹,在linux系统中安装virtualbox增强功能(增强包)的详细步骤是什么...
- “八戒”马德华自传《悟能》首发《西游记》师徒五人再聚首
- Windows任务管理器
- 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项
- 下载 SharePoint Server 2016
- 委外订单--采购入库单不能记账
- PCB通孔类焊盘封装
- 【安信可首款4G模组CA-01直连阿里物联网平台②】一机一密认证方式连接
- 云计算工程师必备技能
- 活体检测论文研读三:Learning Deep Models for Face Anti-Spoofing: Binary or Auxiliary Supervision
- Socket+MFC的聊天室
- 史上最全的团队文档协作及管理工具盘点,看看哪款适合你
- 【JQuery】关于jQuery的load方法在Laravel里的使用
- 莫拉克电梯服务器说明书_默纳克电梯功能参数表
- 关于Android Pie(Android 9.0)
- 程序员最好掌握的两个思维模式
- mysql虚拟主机_虚拟主机有mysql吗